sakrab
@sakrab
Не будь побежден злом, но побеждай зло добром...

Как пройтись по 4 массивам одной функцией?

Можно как то пройтись по 4 массивам одной функцией и найти то что надо? К примеру надо найти число 11.

Пример:
var a = [1,2,3,4,5,6,7,8,9]
var b = [1,2,3,4,5,6,7,8,9]
var c = [1,2,3,4,5,6,7,8,9]
var d = [1,2,3,4,5,6,7,8,11]
function check(a,b,c,d) {
     //arguments ?!
}


Использовать arguments?
  • Вопрос задан
  • 272 просмотра
Решения вопроса 3
sergiks
@sergiks Куратор тега JavaScript
♬♬
Я бы использовал arguments: в функцию первым аргументом передавал искомое значение, а дальше сколько угодно массивов:
function check(search) {
  var i=1, result=[];
  for(;i<arguments.length;i++) {
    arguments[i].some(function(el,j){
      if( el !== search) return;
      result.push("массив "+(i-1)+" эл. "+j);
      // return true; // если не больше одного раза в одном массиве ожидается
    });
  }
  return result;
}

var found = check( 11, a,b,c,d);
Fiddle
Ответ написан
Комментировать
@sergeystepanov1988
Если не нужно определять массив в котором был найден элемент, то можно объединить массивы для простоты:

var a = [1,2,3,4,5,6,7,8,9];
var b = [1,2,3,4,5,6,7,11,9];
var c = [1,11,3,4,5,6,7,8,9];
var d = [1,11,3,4,5,6,7,8,11];

var target = 11;
var count = a.concat(b,c,d).reduce((prev, curr) => { return prev + (curr === target) }, 0);
console.log(count); // 4
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы