как получить значение из массива, который включает в себя некоторое значение с угловой lodash 4 - PullRequest
1 голос
/ 13 мая 2019

эй, у меня есть этот массив

[
 0: "Migration, MD"
 1: "Lution, MD"
 2: "Mover, MD"
 3: "Dee"
 4: "Prov10A"
]

как получить значение, содержащее слово MD, например, MD, которое должно дать мне что-то вроде

[
 0: "Migration, MD"
 1: "Lution, MD"
 2: "Mover, MD"
]

howМогу ли я сделать это с Lodash?спасибо

Ответы [ 4 ]

1 голос
/ 13 мая 2019

Используйте filter и includes:

const arr = ["Migration, MD", "Lution, MD", "Mover, MD", "Dee", "Prov10A"];
const res = arr.filter(e => e.includes("MD"));
console.log(res);
.as-console-wrapper { max-height: 100% !important; top: auto; }
0 голосов
/ 13 мая 2019

Если вы хотите найти только одно слово с «MD» или только первое, вы можете использовать метод поиска java-скрипта, а если вам нужен массив слов с «MD», то вы можете использовать метод filter.

 const  arr = [
     "Migration, MD", "Lution, MD" , "Mover, MD", "Dee", "Prov10A"
    ]
    const result = arr.find(word=>word.includes("MD"));
    console.log(result);
// to get array of words with MD simply change .find as .filter in above code.
0 голосов
/ 13 мая 2019

Вы можете попробовать функцию фильтра

    const  arr = [
     "Migration, MD", "Lution, MD" , "Mover, MD", "Dee", "Prov10A"
    ]

    const out  = arr.filter(e => e.includes('MD'))
    console.log(out)
0 голосов
/ 13 мая 2019

Вы можете использовать filter, toLowerCase & includes. filter вернет новый массив, toLowerCase преобразует регистр элемента, поэтому будут рассмотрены оба значения md, MD.

let k = ["Migration", "MD", "Lution, MD", "Mover, MD", "Dee", "Prov10A"].filter(function(item) {

  return item.toLowerCase().includes('md')
});
console.log(k)
...