let arr1 = ['1', '2', '3']//可以看作原始数据
let arr2 = ['5', '8', '2']//可以看作刚获取的数据
function f2(item, index) {
function f1(arr1) {
return arr1 === item //判断原始数据中是否存在与遍历数据相同
}
if (!(arr1.some(f1))) {
arr1.push(item)//如果不存在将该数据放入原始数据产生新数据
}
else {
}
}
arr2.forEach(f2)//遍历 获取的数据
console.log(arr1)//打印出新的数据
扩展:
合并两个数据 (比如)找出总休假日 有了周一到周五上班日的节假日 + 周六周日
let arr1 = [{ date: "2019-10-23", cont: 89 }, { date: "2019-10-18", cout: 14 }]//可以看作不需要修改的数据 比如 日历中 假期(放假日)
let arr2 = [{ date: "2019-10-08", per: 45 }, { date: "2019-10-23", per: 45 }, { date: "2019-10-28", per: 56 }] // (周一到周五上班日)
function f2(item, index) {
function f1(val /* 当数组arr1调用的时候 里面的每一项元素 */) {
return val.date === item.date //判断原始数据中是否存在与遍历数据相同的日期
}
if ((arr1.some(f1))/* 存在相同的日期 可以找出去掉该项数据 */) {
arr2.splice(index, 1)
}
else {
}
}
arr2.forEach(f2)//遍历 获取的数据
let arr = arr1.concat(arr2)
console.log(arr)