vue-django
Version:
个人实验项目, 本框架的目标是借鉴并超越django admin的自动化思想, 实现UI前端的极简快速定制开发
36 lines (33 loc) • 1.23 kB
JavaScript
/**
* Created by denishuang on 2017/11/27.
*/
// Warn if overriding existing method
if (Array.prototype.equals) {
console.warn("Overriding existing Array.prototype.equals. Possible causes: New API defines the method, there's a framework conflict or you've got double inclusions in your code.")
}
// attach the .equals method to Array's prototype to call it on any array
Array.prototype.equals = function (array) {
// if the other array is a falsy value, return
if (!array) {
return false
}
// compare lengths - can save a lot of time
if (this.length !== array.length) {
return false
}
for (var i = 0, l = this.length; i < l; i++) {
// Check if we have nested arrays
if (this[i] instanceof Array && array[i] instanceof Array) {
// recurse into the nested arrays
if (!this[i].equals(array[i])) {
return false
}
} else if (this[i] !== array[i]) {
// Warning - two different object instances will never be equal: {x:20} != {x:20}
return false
}
}
return true
}
// Hide method from for-in loops
Object.defineProperty(Array.prototype, 'equals', {enumerable: false})