vue 数据对比

Posted misterhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 数据对比相关的知识,希望对你有一定的参考价值。

function looseEqual (a, b) {
if (a === b) return true
const isObjectA = isObject(a)
const isObjectB = isObject(b)
if (isObjectA && isObjectB) {
try {
const isArrayA = Array.isArray(a)
const isArrayB = Array.isArray(b)
if (isArrayA && isArrayB) {
return a.length === b.length && a.every((e, i) => {
return looseEqual(e, b[i])
})
} else if (a instanceof Date && b instanceof Date) {
return a.getTime() === b.getTime()
} else if (!isArrayA && !isArrayB) {
const keysA = Object.keys(a)
const keysB = Object.keys(b)
return keysA.length === keysB.length && keysA.every(key => {
return looseEqual(a[key], b[key])
})
} else {
/* istanbul ignore next */
return false
}
} catch (e) {
/* istanbul ignore next */
return false
}
} else if (!isObjectA && !isObjectB) {
return String(a) === String(b)
} else {
return false
}
}

function isObject (obj) {

return obj !== null && typeof obj === ‘object‘
}



































以上是关于vue 数据对比的主要内容,如果未能解决你的问题,请参考以下文章

简单介绍Vue中使用js制作进度条式数据对比动画

Vue.js与React的全面对比

Angularjs和Vue.js的对比

React和Vue对比

React和Vue对比

Vue--computed计算属性监听数据变化----与watch,methods对比