如何从数组中获取值,该数组包含一些带有lodash角4的值

时间:2019-05-13 05:05:33

标签: javascript arrays angular typescript lodash

嘿,我有这个数组

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

如何获取其中包含单词MD的值 像是有医学博士,应该给我这样的东西

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

我如何用lodash做到这一点? 谢谢

4 个答案:

答案 0 :(得分:1)

使用filterincludes

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; }

答案 1 :(得分:0)

您可以使用filtertoLowerCaseincludesfilter将返回一个新数组,toLowerCase将转换该元素的大小写,因此将同时考虑mdMD

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

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

答案 2 :(得分:0)

您可以尝试过滤功能

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

    const out  = arr.filter(e => e.includes('MD'))
    console.log(out)

答案 3 :(得分:0)

如果您只想找到一个带有“ MD”的单词,或者只找到第一个单词,则可以使用Java脚本查找方法,如果您想要一个具有“ MD”的单词数组,则可以使用过滤器方法。

 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.