Получение элементов в многомерном массиве, если внутренний массив содержит более X элементов

#javascript #arrays #typescript

#javascript #массивы #typescript

Вопрос:

Используя javascript, какой самый чистый способ получить только элементы массива с длиной> 2: например, у меня есть этот массив:

 const myArray = [ [1,2,2,2], [1,5,7,8,2,0,2,3,5], [1,3], [4], [1,2,6,8] ];
 

Я использую неприятный, но функциональный for способ сделать это. Нравится:

 for(let i=0; i<myArray.lenght; i  ) {
  if (myArray[i].lenght > 2) {
    myfilteredarray.push(myArray);
  }
}
 

Какой более чистый способ сделать это?

Ответ №1:

С filter помощью функции:

 const myArray = [ [1,2,2,2], [1,5,7,8,2,0,2,3,5], [1,3], [4], [1,2,6,8] ];
const filtered = myArray.filter(arr => arr.length > 2);
console.log(filtered); 

Ответ №2:

просто добавьте:

 const myArray = [ [1,2,2,2], [1,5,7,8,2,0,2,3,5], [1,3], [4], [1,2,6,8] ];

const newArr = myArray.filter(item => item.length > 2);

console.log(newArr) // result [[1,2,2,2], [1,5,7,8,2,0,2,3,5], [1,2,6,8]]