本文介绍如何在JavaScript对象数组中通过find方法查找特定属性值,判断其存在性。同时演示利用reduce结合对象键值判断实现多属性完全一致的数组去重与匹配提取,提供实用代码示例供参考。
对象数组中匹配某个属性值
假设存在一个JavaScript对象数组,定义如下变量:
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)
以上为个人经验总结,希望能给大家一个参考,也希望大家多多支持本站。