JS对象数组中如何匹配某个属性值
作者:spe_track
这篇文章主要介绍了JS对象数组中如何匹配某个属性值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
对象数组中匹配某个属性值
如果有一个js对象数组,一个变量如下
var a = [ { 'id' : 2, 'name' : 'xxxx', }, { 'id' : 3, 'name' : 'bbbbb', }, ]; var b = 3;
我想要查询 变量b,是否在数组a的id值中,如果在,返回true;不在,返回false
写法如下
if (a.find(item => {return item.id == b}) != undefined) { return true; } else { return false; }
find方法检索数组,如符合条件 item.id == b,那么返回第一个被检索到的对象,如果检索不到,返回 undefined
对象数组取出对象属性值完全一样的项
vvar ary=[ {"RaDate":'2021-09-08',"Type":'Morning2','title':'测试2'}, {"RaDate":'2021-10-08',"Type":'Morning2','title':'测试1'}, {"RaDate":'2021-09-08',"Type":'Morning2','title':'测试2'}, {"RaDate":'2021-10-08',"Type":'Morning2','title':'测试2'}, ] let obj = {}; var result = ary.reduce((cur, next,index) => { var key = next.RaDate + next.Type+ next.title obj[key] ?cur.push(next): obj[key] = true return cur; }, []) console.log(result)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。