それらが別の配列に存在する場合、JavaScript配列からすべての要素を削除する効率的な方法を探しています。
// If I have this array:
var myArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
// and this one:
var toRemove = ['b', 'c', 'g'];
myArrayを操作して、この状態のままにしておきます。 ['a', 'd', 'e', 'f']
jQueryでは、私はgrep()
and を使用しinArray()
ています。
myArray = $.grep(myArray, function(value) {
return $.inArray(value, toRemove) < 0;
});
ループやスプライシングなしでこれを行う純粋なJavaScriptの方法はありますか?
.filter()
。代わりに、for
ループを使用します。.splice()
元の順序を維持する必要がない場合は、回避できます。または.splice()
、削除するアイテムが多数あると思われる場合は、より効率的にする方法があります。