Как вернуть массив строк с определенным словом? - PullRequest
0 голосов
/ 09 октября 2018

Я хочу вернуть массив строк с определенным словом.Например, если мне нужны все строки со словом «Белка», как это сделать?

Ввод

['Blue Squirrel', 'Pink Horse', 'Желтая белка', 'Зеленая кошка', 'Белая лягушка', 'Черный лев', 'Оранжевая белка']

Возвращение

['Голубая Белка', 'Желтая Белка', 'Апельсиновая Белка']

Мой код:

function iJustWantSquirrel (animals) {
  const onlySquirrels = animals.filter(function(animal) {
    if (animal.length == 'Squirrel') {
      return animal;
    } 
  });
  return onlySquirrels;
}

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Вы можете отфильтровать элементы, которые вам не нужны, например:

const array = [ 
    'Blue Squirrel', 
    'Pink Horse', 
    'Yellow Squirrel', 
    'Green Cat', 
    'White Frog', 
    'Black Lion', 
    'Orange Squirrel' 
];

const result = array.filter(s => s.toLowerCase().indexOf('squirrel') >= 0);

Возвращает:

["Blue Squirrel", "Yellow Squirrel", "Orange Squirrel"]
0 голосов
/ 09 октября 2018

Просто немного изменил ваш фрагмент, чтобы проверить, есть ли в строке слово «Белка».

function iJustWantSquirrel (animals) {
  const onlySquirrels = animals.filter((animal) => {
    if (animal.includes('Squirrel')) {
      return animal;
    } 
  });
  return onlySquirrels;
}

const animalArray = [ 'Blue Squirrel', 'Pink Horse', 'Yellow Squirrel', 'Green Cat', 'White Frog', 'Black Lion', 'Orange Squirrel' ];

const newAnimalArray = iJustWantSquirrel(animalArray);

alert(JSON.stringify(newAnimalArray));
0 голосов
/ 09 октября 2018

Вам необходимо выяснить, содержит ли строка слово, которое вы можете сделать, используя метод includes.Также, когда вы используете фильтр, обратному вызову нужно только возвращать логическое значение, а не фактическое значение, которое будет возвращено

const data = [ 'Blue Squirrel', 'Pink Horse', 'Yellow Squirrel', 'Green Cat', 'White Frog', 'Black Lion', 'Orange Squirrel' ]
function iJustWantSquirrel (animals) {
  const onlySquirrels = animals.filter(function(animal) {
    return animal.toLowerCase().includes('squirrel')
  });
  return onlySquirrels;
}

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