我正在寻找一种有效的方法来从 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 的方式来做到这一点而无需循环和拼接?