同じ値を削除する最も簡潔な方法である2つの配列を比較し、1行で取得します

ほとんどの人は二重層のforループを実装しており、同じアイテムが存在する場合、同じアイテムをスプライスするというアイデアは次の
ようになります:

function array_diff(a, b) {
	a = JSON.parse(JSON.stringify(a))
	b = JSON.parse(JSON.stringify(b))
	for (var i = 0; i < b.length; i++) {
		for (var j = 0; j < a.length; j++) {
			if (a[j] == b[i]) {
				a.splice(j, 1);
				j = j - 1;
			}
		}
	}
return a;
}

面倒そう!

次のコード行でes6を柔軟に使用する方法を教えてください;フィルターのfindIndex

const a = [1,2,3,4]
const b = [1, 3]
const c = a.filter(v => b.findIndex(el => el === v) === -1);
console.log(c) // [2, 4]

おすすめ

転載: blog.csdn.net/Beth__hui/article/details/105437158