找一个高效处理数据的算法
let arr1 = [{
name: 'online'
}, {
name: 'offline'
}]
let arr2 = [{
id: 1,
name: ['online']
}, {
id: 2,
name: ['online', 'offline']
}]
function merge(arr1, arr2) {
// ...
}
let arr3 = merge(arr1, arr2)
/*
arr3结构
[{
name: 'online',
ids: [1, 2]
}, {
name: 'offline',
ids: [2]
}]
O(n)
*/
求一个时间复杂度最小的实现, 可直接改变arr1数组到arr3状态,实际的数据量很大,数组还有其他很多属性
补充:要实现的功能是在根据arr1中的name属性在arr2中过滤出对于的id,然后记录下来。求个最优解
这是一个把
arr1
当作规则数组的处理方法,但是,貌似题主的意思是
arr1
其实也有数据,只有name
是规则,那么……这两句话需要较新的 ES 环境
可以改为旧语法的