对象数组中匹配某个属性值
如果有一个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)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
查看更多关于JS对象数组中如何匹配某个属性值的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did121272