Использовать один массив строк для соединения другого массива?
Итак, у меня есть один массив:
var array1 = ['one', 'two', 'three', 'four', 'five']
И еще:
var array2 = ['two, 'four']
Как я могу удалить все строки из array2
из array1
?
4 ответа:
Просто используйте
Array#filter()
и ещеArray#indexOf()
с побитовым не~
оператор для проверки.
~
является побитовым операторомне . Он идеально подходит для использования сindexOf()
, потому чтоindexOf
возвращает, если найден индекс0 ... n
, а если нет-1
:value ~value boolean -1 => 0 => false 0 => -1 => true 1 => -2 => true 2 => -3 => true and so on
var array1 = ['one', 'two', 'three', 'four', 'five'], array2 = ['two', 'four']; array1 = array1.filter(function (a) { return !~array2.indexOf(a); }); document.write("<pre>" + JSON.stringify(array1, 0, 4) + "</pre>");