二维数组数据
[{
“letter”: “A”,
“data”: [{
“id”: 1,
“merchantCode”: “8529993020”,
}]
}, {
“letter”: “C”,
“data”: [{
“id”: 2,
“merchantCode”: “45612778726”,
}]
}, {
“letter”: “G”,
“data”: [{
“id”: 3,
“merchantCode”: “48512306798”,
}]
}]
需求场景:在二位数据中,对merchantCode进行实时模糊查询。如输入数据485,则对数据中的merchantCode进行匹配。匹配成功的数据重新赋值成新的数组。避免了重复调用接口。注意:此处仅适用未分页的数据
// list 为二维数组的数据
// arrcopy 为二维数组的深层拷贝。使得实时更新数据的数据都是根据最开始获取的数据进行筛选
valuechange(e) { // e为实时输入的数据
let that = this
let listnew = []
that.list = that.arrcopy //输入的数据每一次发生改变,都让list始终未最开始的数据
that.list.forEach(item=>{
item.data.forEach(items=>{
if(items.merchantCode.indexOf(e)!==-1){
listnew.push(item)
}
})
})
that.list = listnew
},
二维数组的深层拷贝:[ …this.arrcopy ] = this.list