关于Vue.js数组的变动观测

对于数组的变动观测,首先对常用的数组的方法的说明,在Vue中常用数组的方法包括七兄弟的方法。

方法名说明
push(1)添加一个或多个元素(2)返回新的数组的长度 (3)从后添加
unshift向数组头部添加一个或多个元素(2)返回新的数组的长度
pop(1)删除后一个元素,(2)返回删除元素的值(3)数组为空,返回undefined
shift(1)删除第一个元素(2)返回删除的值,为空不操作返回undefined(3)不创建新的数组直接在原数组的操作方法
splice(1)向数组中添加或删除项目,删除则返回删除的元素;(2)splice(index,howmany,添加项) howmany取值0表示添加,大于零表示删除元素的个数,后面则为添加项,index表示从第几个元素开始删除或添加(3)区别于slice(start,end)直接在原数组上操作
sort原地排序返回数组的值,默认是对每个unicode位点的编码排序(2)数组会转化为字符串,数字数组排序可能会有问题(3)指定comparefnction(a,b) >0 a在b之前 ,=0元顺序不变 ,<0 b在a之前
reverse(1)颠倒数组元素的值 (2)返回颠倒后数组的值
对于另外一个则需要对Object.create()与forEach()

##Object.create()创建拥有指定原型与若干指定属性的对象。Object.create(proto, [ propertiesObject ])。


forEach()数组每一项执行一次函数。
array.forEach(callback[, thisArg])
可以改写this也即是可以重置this的值
callback- currentValue/index/array(当前值,索引号,当前数组)

export function def (obj, key, val, enumerable) {
Object.defineProperty(obj, key, {
value: val,
enumerable: !!enumerable,
writable: true,
configurable: true
})
}

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。(W3C)

Logo

前往低代码交流专区

更多推荐