Angular 基于where like条件按属性筛选对象数组
我需要过滤特定属性与用户类型匹配的对象数组 鉴于此Angular 基于where like条件按属性筛选对象数组,angular,lodash,Angular,Lodash,我需要过滤特定属性与用户类型匹配的对象数组 鉴于此 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}, ] 一旦用户输入了第一个字符,我就要过滤数组,不是基于精确匹配,而是基于“where like” 我检查了这个问题
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},
]
一旦用户输入了第一个字符,我就要过滤数组,不是基于精确匹配,而是基于“where like”
我检查了这个问题:
但它只返回一个精确匹配,或者什么也不返回
我可以使用什么样的lodash函数来返回一个对象数组,其中name属性与用户输入的查询字符串匹配,这样,如果用户键入“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)
试试这个
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) );
在es6语法中,它看起来像
const filteredArray = peopleList.filter( people => people.name.includes(someText) );
以下是没有lodash和纯javascript的工作片段:
var peopleList=[
{姓名:“约翰·比”,年龄:23},
{姓名:“吴宇森”,年龄:43},
{姓名:“jim foo”,年龄:101},
{姓名:“bob wow”,年龄:67},
{姓名:“最后的约翰”,年龄:43},
];
var result=peopleList.filter(person=>person.name.includes(“jo”);
控制台日志(结果)代码>以下是没有lodash和纯javascript的工作代码段:
var peopleList=[
{姓名:“约翰·比”,年龄:23},
{姓名:“吴宇森”,年龄:43},
{姓名:“jim foo”,年龄:101},
{姓名:“bob wow”,年龄:67},
{姓名:“最后的约翰”,年龄:43},
];
var result=peopleList.filter(person=>person.name.includes(“jo”);
控制台日志(结果)代码>我可以在.ts文件中使用它吗?我正在进行的大型项目是基于typescript,而不是我的决定。如果不能使用上面的选项是什么?是的,为什么不可以,您可以毫无疑问地使用它@Nikocraft我可以添加一个建议,让它更像是一个实际的where like
条件,在person.name.toLowerCase()
asincludes()
上进行筛选,尽管在这种特定情况下,既然所有的名字都是小写的,那就没关系了。很好的建议,jun,考虑到上面vivek的代码,我应该把这个建议放在哪里?我可以在.ts文件中使用这个吗?我正在进行的大型项目是基于typescript,而不是我的决定。如果不能使用上面的选项是什么?是的,为什么不可以,您可以毫无疑问地使用它@Nikocraft我可以添加一个建议,让它更像是一个实际的where like
条件,在person.name.toLowerCase()
asincludes()
上进行筛选,尽管在这种特定情况下,既然所有的名字都是小写的,那就没关系了。很好的建议,jun,考虑到上面vivek的代码,我该把这个建议放在哪里呢?