对象数组中匹配某个属性值

如果有一个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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部