好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

查看更多关于JS对象数组中如何匹配某个属性值的详细内容...

  阅读:49次