下記のようなsource
からtarget
に含まれる要素を削除したいときどうするか。
const source = ['a', 'b', 'c', 'd', 'd', 'e', 'f', 'b'];
const target = ['b', 'd'];
参照は切れてもいい
// filterを使う
const newSource = source.filter((val) => {
return !target.includes(val);
});
参照はそのままがいい
for (let i = 0; i < source.length; i++) {
if (target.includes(source[i])) {
// ポイントはデクリメント
souce.splice(i--, 1);
}
}
もっとスマートに書けないかな…