Можно ли сделать так, чтобы операторы в функции фильтрации писем соответствовали двум параметрам, сохраняя имена самих операторов? - PullRequest
0 голосов
/ 08 февраля 2019

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

var inputletter = "e"

startlist = ["jambee", "dangen", "oragna", "sabotta"];

function filter2("parameter1", "paramater") {
 for (var i = 0; i < startlist.length; i++) {
  if(regex.test(startlist[i])) {
    filter2.push(startlist[i])
  }
 }
}
console.log(filter2(startlist, inputletter));

Я хочу, чтобы на выходе кода были показаны значения, в которых есть буква e.

1 Ответ

0 голосов
/ 08 февраля 2019

Есть некоторые вещи, которые вы пропустили в своем коде.

  1. filter2("parameter1", "paramater") вам нужно получить аргументы в переменной что-то вроде этого filter2(parameter1, paramater)

  2. regex.test(startlist[i]) здесь вы фактически не строите регулярное выражение где-либо в своем коде.Сначала нужно построить регулярное выражение.

  3. filter2.push(startlist[i]) эта строка не имеет смысла.

Вы можете использовать фильтр и , включая

var inputletter = "e"

startlist = ["jambee", "dangen", "oragna", "sabotta"];

function filter2(inputArr, testStr) {
  return inputArr.filter(e=> e.includes(testStr))
}
console.log(filter2(startlist, inputletter));

Вы можете изменить свой код на что-то вроде этого

var inputletter = "e"

startlist = ["jambee", "dangen", "oragna", "sabotta"];

function filter2(inputArr, testStr) {
  let op = []
  for (var i = 0; i < inputArr.length; i++) {
   if(inputArr[i].includes(testStr)) {
    op.push(inputArr[i])
  }
 }
 return op;
}
console.log(filter2(startlist, inputletter));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...