js对象数据和数组里面的数据比对,并改变数组的数据
实现背景
如图:现在想比对 objA对象和数组formSearchs的数据,判断当formSearchs里面的对象的name和objA里面的eventName相等的时候 给formSearchs对象里面的value 赋值
实现代码
html
<el-button @click="changeData">改变</el-button>
下面是mounted
this.getObjKeys()
下面是methods
// 获取对象的key值,并转换成数组的形式
getObjKeys() {
const {
objA
} = this
let newArray = []
let items
for (items in objA) {
newArray.push({
name: items,
value: objA[items]
})
}
console.log('newArray', newArray)
this.newArray = newArray
},
// 改变数组里面的value值
changeData() {
const {
formSearchs,
newArray
} = this
newArray.forEach(item => {
formSearchs.forEach((i, index) => {
i.name == item.name ? i.value = item.value : ''
});
});
console.log('改变后的数据', formSearchs)
},
实现效果
如果你有更好的实现方式,欢迎在评论区进行交流