Отобразить и отфильтровать массив JavaScript - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь отобразить вложенный массив и вернуть слова, которые содержат больше букв, чем 6, я застрял на некоторое время с этой проблемой, поэтому я хотел бы получить некоторую помощь

const array = [["hellow",'pastas'],["travel", "militarie"],["oranges","mint"]]

  const arrayOne = array.map(new => new).filter(arr =>arr.length > 6)

Ответы [ 4 ]

0 голосов
/ 16 марта 2019

Есть много способов сделать это.

Вы можете использовать flatMap и filter :

const array = [['hellow','pastas'],['travel', 'militarie'],['oranges','mint']];

const result = array.flatMap(x => x.filter(y => y.length > 6));

console.log(result);

Другой способ - использовать , уменьшить и , фильтр :

const array = [['hellow','pastas'],['travel', 'militarie'],['oranges','mint']];

const result = array.reduce((acc, x) => [...acc, ...x.filter(y => y.length > 6)], []);

console.log(result);
0 голосов
/ 16 марта 2019

Я думаю, что лучше будет использовать метод filter ().

array.filter(function (c) {
    return c.length < 6;
});

Но сначала используйте метод flat ().

0 голосов
/ 16 марта 2019

Вы можете использовать код ниже.Этот код использует .map() и .filter(), чтобы проверить, больше ли длина, чем 6, и добавляет его в массив, если он есть.

const array = [["hellow","pastas"],["travel", "militarie"],["oranges","mint"]];
const arrayOne = array.map(e1 => e1.filter(e2 => e2.length > 6)).flat();

console.log(arrayOne);
0 голосов
/ 16 марта 2019

Вы можете flat сначала массив, а затем filter слова длиной более 6

const array = [['hellow','pastas'],['travel', 'militaries'],['oranges','mint']]

const arrayOne = array.flat(1).filter(e=> e.length > 6 )

console.log(arrayOne)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...