JavaScript

как проверить в двух больших массивах всё на наличие того же самого в другом. javascript

у меня есть массив с 2, 4, 5, 10, 421, 29 и другой с, 2, 4, 24, 25, 124, 53125, 21551, 22
как я смогу проверить, что каждый элемент первого списка встречается во втором
цикл подходит для проверки одного значения, допусти двойки.
Предположу что в моем случае нужны кучи циклов друг во друге
Vilcu Constantin
Vilcu Constantin
7
https://jsfiddle.net/OPTlMUS/ynjg4mu3/

var a = [2, 4, 5, 10, 421, 29];
var b = [2, 4, 24, 25, 124, 53125, 21551, 22];

function check( a, b ){
  var small = a.length < b.length? a : b;
  var big = a.length >= b.length? a : b;

  for( var i = 0; i < small.length; i++ ){
    if( !(big.indexOf( small[i] ) + 1) ) {
      alert( 'Не совпадают' );
      return;
    }
  }
  alert('В большом массиве содержатся все элементы мелкого.');
}

check(a,b);

_____________

Получает два любых массива, сначала определяет какой из них длиннее и проверяет наличие элементов мелкого в более длинном.

indexOf возвращает номер элемента, если он есть в массиве... и -1, если его там нет.
-1 + 1 == будет 0. Любое число кроме 0 - в логическом контексте true. Восклицательный знак переворачивает это значение. Т. е. если элемент найдется в массиве, условие не выполнится, а если его там не будет - условие станет true, вылетит alert, а return прервет выполнение функции.
АС
Александр Соболев
62 360
Лучший ответ
Vilcu Constantin какие то методы неизвестные
гуглю
const a = [2, 4, 5, 10, 421, 29];
const b = [2, 4, 24, 25, 124, 53125, 21551, 22];
const intersection = (a, b) => {
let box = [];
for (let v of a) if (b.includes(v)) box.push(v);
return box;
};
let res = intersection(a, b);
console.log(res);
Георгий Панин
Георгий Панин
96 818
В смысле найти общие элементы двух массивов?
___
var ar = [2, 4, 5, 10, 421, 29];
var br = [2, 4, 24, 25, 124, 53125, 21551, 22];
var d = [];
for (var i = 0; i < ar.length; i++) {
for (var j = 0; j < br.length; j++) {
if (ar[i] == br[j]) {
d.push(ar[i])
}
}
};
//console.log(d);
var b = [];
for (var i = 0; i < d.length; i++) {
for (var j = 0; j < d.length; j++) {
if (i == j) {
continue;
}
if (d[i]==d[j]) {
b.push(d[i]);
var n = d[i];
}
for (var k = 0; k < d.length; k++) {
if (d[k] == n) {
d.splice(k, 1);
}
};
};
};
console.log(d); // 2, 4
Иван Чальников
Иван Чальников
98 197