Сравнение N массивов с N общими значениями

#javascript #node.js

#javascript #node.js

Вопрос:

Итак, допустим, у меня есть массив, который выглядит примерно так

 [ [ -1, -1, 7, -1 , -1 ], [ -1, 7, -1, 7, -1], [-1, 7, -1, 7, -1], [-1, 7, -1, 7, 7]]
  

Количество встроенных массивов всегда может быть разным (0-n), и количество значений, содержащихся в каждом массиве, также может быть разным. Каков наилучший способ поиска всех значений в индексе массива 0, затем 1 и так далее?

Я знаю, что мог бы выполнить некоторые встроенные циклы for и while для достижения этой цели, просто не уверен, есть ли более чистый или простой способ выполнить эту задачу

Редактировать: добавлена более длинная строка массива для уточнения. В приведенном выше примере я надеюсь найти способ вывести, что во всех массивах с индексом 0 есть общее значение

Редактировать 2: в основном ищу способ сократить это или лучший способ выполнить это

 newArray = [];
output = [];
for(x = 0; x < array_inner[0].length; x  ){
  for(i = 0; i < array_list.length; i  ){
    newArray[x].push(array_inner[x])
}}

const allEqual = arr => arr.every(val => val === arr[0]);
for(p = 0; = p < newArray.length; p  ){
  var result = allEqual(newArray[p])
  output.push(result)
}

  

Комментарии:

1. Будет ли массив только на два уровня глубиной? И вы хотите изменить массив или просто перебирать каждый элемент?

2. Да, это правильно

3. вы хотите проверить, существует ли определенное значение в этих массивах?

4. у вас есть больший пример и желаемый результат?

5. Просто отредактировано, чтобы, надеюсь, добавить больше разъяснений

Ответ №1:

вы ищете что-то подобное?

 const arrays=[ [ -1, -1, 7 ], [ -1, 7, -1,2 ],[-1,7,1],[1,5,9,9] ]
const valueToSearch=7
let index= 0


let indexesOutput= arrays.reduce((a,c)=> {
 console.log( c.filter(n=>n==-1))
 return [...arrays[index  ]]
} ,[])  

Комментарии:

1. Вроде того, за исключением того, что я ищу любые значения в N массивах, которые равны. Итак, в этом примере. Я хотел бы выяснить, что оба массива имеют индекс 0 при -1. [ [ -1, -1, 7 ], [ -1, 7, -1 ] ]