众所周知,对象数组没法遍历去map,因为他的key不是0123456这种
所以如果使用object.map会报错 只能用object.key才能得到对应的value
那么我们如何去遍历对象数组呢 就用到了ES6新增的for of语法
for of可以一次得到数组对象的每一个对象
let newdata:{id: number, data: number}[] =[{id:2, data:5},{id:1, data:12}]
for (var item of newdata){ //第一个item {id:2, data:5}
if(item.id == props.item.id){ //item.id --2
data.value = item.data //item.data --5
has = 1
}
}
首先创建了一个数组对象newdata ,然后通过for of去遍历newdata,item就是newdata的每一个对象,我们可以通过item.id ,item.data去获取对象里面的属性.这样就完成了。
ES6里还有一个方法叫Object.assign()
方法 ,它用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。也可以像我下面这样用来拷贝
const Data = {id: 5, data: 5};
const val = Object.assign({},Data)
console.log(val ); // {id: 5, data: 5}
例如这样就可以把对象Data拷贝一份赋值给val,如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖,像这样
const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };
const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }