实际运用场景:
A数组是原始数组,
B数组是需要过滤的数组,
这时候我的需求是:得到从A数组中过滤掉B数组的所有元素得到C数组。
var aArray = [];
var bArray = [];
var cArray = [];
var temp = []; //临时数组1
var temparray = [];//临时数组2
if (bArray && bArray.length > 0) {
bArray.forEach(function (item) {
temp[item["shopNo"]] = true;//把数组B的值当成临时数组1的键(key)并赋值为真
});
aArray.forEach(function (item) {
if (!temp[item["storeCode"]]) {
temparray.push(item);
//同时把数组A的值当成临时数组1的键(key)并判断是否为真,
//如果非真说明没重复,就push到一个新数组里
}
});
} else {
temparray = aArray;//B数组为空
}
cArray = temparray;