- 需求:
const A = ["a", "b", "c", "d", "e", "f", "g"]
const B = ["c", "e", "f"]
结果:
[a,b,d,g]
- 场景:后端让提供表格中没有被选中的数据id
const A = ["a", "b", "c", "d", "e", "f", "g"]
const B = ["c", "e", "f"]
方法一:两层for循环
for (let i = 0; i < B.length; i++) {
for (let j = 0; j < A.length; j++) {
if (B[i] === A[j]) {
A.splice(j, 1)
}
}
}
方法二 :两层forEach
B.forEach((item, index1) => {
A.forEach((element, index2) => {
if (item === element) {
A.splice(index2, 1)
}
})
});
方法三 :for + indexOf 或for + lastIndexOf
for (let i = 0; i < B.length; i++) {
if (A.indexOf(B[i]) >= 0) {
A.splice(A.indexOf(B[i]), 1)
}
}
方法四 : forEach + indexOf 或forEach + lastIndexOf
B.forEach(item => {
if (A.indexOf(item) >= 0) {
A.splice(A.indexOf(item), 1)
}
});
方法五: for + findIndex 或 forEach + findIndex
for (let i = 0; i < B.length; i++) {
A.splice(A.findIndex(item2 => item2 === B[i]), 1)
}
B.forEach(item => {
A.splice(A.findIndex(item2 => item2 === item), 1)
});