根据类似条件过滤属性的对象数组



我需要过滤一个特定属性与用户具有类型的对象数组。

给定这个

peopleList = [ 
  {name: "john bee", age:23},
  {name: "john woo", age:43},
  {name: "jim foo", age:101},
  {name: "bob wow", age:67},
  {name: "last john", age:43},
]

用户键入第一个字符,我想根据确切的匹配而不是基于"在哪里"过滤数组。

我已经检查了这个问题:基于属性值

过滤对象的阵列

,但它仅返回一个确切的匹配或什么都没有。

我可以使用哪些lodash函数返回一系列对象,其中名称属性与用户输入的查询字符串匹配,以便返回用户类型" jo":

[ 
  {name: "john bee", age:23},
  {name: "john woo", age:43},
  {name: "last john", age:43},
]

我使用的是Angular。

尝试此

const peopleList = [ 
  {name: "john bee", age:23},
  {name: "john woo", age:43},
  {name: "jim foo", age:101},
  {name: "bob wow", age:67},
  {name: "last john", age:43},
]
const search = "jo"
cosnt subList = peopleList.filter((person)=>person.name.indexOf(search) > -1)

在es6语法中看起来像

const filteredArray = peopleList.filter( people => people.name.includes(someText) );

这是没有lodash和普通javascript的工作片段:

var peopleList = [ 
  {name: "john bee", age:23},
  {name: "john woo", age:43},
  {name: "jim foo", age:101},
  {name: "bob wow", age:67},
  {name: "last john", age:43},
];
var result = peopleList.filter(person => person.name.includes("jo"));
console.log(result);

最新更新