2015-04-17 5 views
0

Может быть по названию кажется простым вопросом, но я не знал, как сделать кратчайший заголовок для моего вопроса.
Я хочу удалить элементы из массива на javascript, да, но то, что я ищу, - это удалить из массива несогласованные элементы с другим массивом на javascript (возможно, это может быть заголовок, но слишком большой).
Например:Удалить элементы из массива javascript

Array A=> [a, b, c, d] 
Array B=> [b,d] 
Array C = deleteMismatchedElements(A,B) 
Array C (after function)-> [b,d] 

Я полагаю, что с помощью вложенного цикла Еогеасп это может быть возможным, но мне интересно, если есть лучший способ, что-то как «родной» реализован метод, который можно было бы назвать, или аналогичный ...

спасибо.

+2

Основываясь на вашем примере, ' C = B' выполнит эту работу. –

+0

для первого взгляда я думал, что вам нужна разница в массивах, но я не могу понять, чего вы действительно хотите? – AhmadAssaf

+3

Возможно, вы должны привести пример, где B не является подмножеством A. Я считаю, что вы ищете пересечение массива. Это будет дубликат http://stackoverflow.com/q/1885557/218196 –

ответ

3
var C = []; 
for(var i = 0; i < B.length; i ++){ 
    if(A.indexOf(B[i]) > -1){ 
     C.push(B[i]); 
    } 
} 

Что это делает

  1. Создает массив со C
  2. прогонов через каждый пункт в B
  3. ifB[i] в A, добавьте его в C
+2

'A.filter (b.includes.bind (b))' –

+0

... Подожди, подожди, подожди, позволь мне обойти это. JavaScript имеет метод фильтрации для массивов. Что я делал с моей жизнью за последний месяц? –

+0

Там вы идете: http://stackoverflow.com/a/1885569/218196 –

Смежные вопросы