js对象数组根据某一属性查找对象

js对象数组[{name: "zhangsan", age: 20}, {name: "lisi", age: 30}], 如果想查找name是zhangsan的这个对象,传统方法可以根据for+if条件遍历,也可以用map重新构造,或者组装新对象。

1. 组装新对象

 list.forEach(function (item) {

   selectObj[item.name] = item

 })

selectObj新对象结构为:{"zhangsan": {name: "zhangsan", age: 20}, "lisi": {name: "lisi", age: 30}}, 通过selectObj[zhangsan]即可获取。

2. 或者使用es6中的新特性:list.find(item => item.name == "zhangsan")

其他的比如filter, some, every方法也都很好用。

你可能感兴趣的:(nodejs)