在 javascript 中使用过滤方法时从数组中获取所有值

get all the value from array while using filter method in javascript

假设我有数组:-

data = ['abc abc abc', 'def', 'ghi','abc','abc e']

我想从数组中过滤所有具有 'abc'.

的值

我的预期输出是 newArray = ['abc abc abc','abc','abc e']

所以我尝试了:-

var newArray = data.map(item=>({ 
    item.split(" ").filter(function (getValue) {
  return getValue =='abc';
})
}
))

但它给我错误。

我该怎么做? 谢谢!!!

您可以将 array#filterString.prototype.includes() 一起使用。

const data = ['abc abc abc', 'def', 'ghi','abc','abc e'],
      result = data.filter(w => w.includes('abc'));
console.log(result);

选择:

let data = ['abc abc abc', 'def', 'ghi','abc','abc e']


let myArr = data.filter(element => element.match(/abc/g))

console.log(myArr)

您可以使用 .includes 数组方法来实现同样的效果

var data = ['abc abc abc', 'def', 'ghi','abc','abc e'];

var result = data.filter(obj => obj.includes('abc'));

console.log(result);