需求: 把请求回来的数据跟现有数据作对比, 如果管理号 (managerNo) 一样则把请求回来数据里的某一字段作高亮处理。
//原有数据:
let parent = [
{ name: aa, managerNo: 11},
{ name: bb, managerNo: 12},
{ name: cc, managerNo: 13},
...
]
//请求回来的数据:
let child = [
{ name: dd, managerNo: 11},
{ name: ee, managerNo: 15},
{ name: ff, managerNo: 16},
...
]
现操作:
for(let item1 of parent) {
for(let item2 of child) {
if(item1.managerNo == item2.managerNo) {
item2._checked = true;
}
}
}
如果两个数组过长的话我觉得会很耗性能。
期待更优秀的写法, 或者更骚的写法。
好人一生平安 ~
这个怎么说,你的写法时间复杂度是O(m x n).、
类似的问题应该都是先用一个数组建立索引,再遍历另一个数组,时间复杂度是O(m+n)
具体操作:
两行代码,时间复杂度低很多。