Javascript Js-检查对象的嵌套值是否相同
我有这些嵌套对象。如何检查组id是否都相同Javascript Js-检查对象的嵌套值是否相同,javascript,jquery,Javascript,Jquery,我有这些嵌套对象。如何检查组id是否都相同 console.log(getData); {…} "$": function g() 0: {…} DT_RowId: "row_1" groups: Object { group_id: 2, … } 1: {…} DT_RowId: "row_2" groups: Object { group_id: 2, … } 2: {…} D
console.log(getData);
{…}
"$": function g()
0: {…}
DT_RowId: "row_1"
groups: Object { group_id: 2, … }
1: {…}
DT_RowId: "row_2"
groups: Object { group_id: 2, … }
2: {…}
DT_RowId: "row_3"
groups: Object { group_id: 2, … }
3: {…}
DT_RowId: "row_4"
groups: Object { group_id: 2, … }
A.each()为我提供:
$.each( getData, function ( id, val ) {
console.log(val.groups.group_id);
});
2
2
2
2
如果是嵌套对象,可以执行以下操作:
Object.values(getData).map(val=>val.groupId).each((groupId,i,arr)=>groupId==arr[0])
如果getData
是一个对象
Object.keys(getData).every(key => getData[key].group_id === getData[0].group_id)
我们首先获取getData
对象容器的键,然后使用键数组访问getData
对象以检查每个obj.group\u id
如果
getData
是包含对象的数组
getData.every(obj => getData[obj].group_id === getData[0].group_id)
与上面类似,除了我们可以直接迭代对象数组之外您可以使用
Object.keys
迭代对象,并使用every
测试所有满足条件的值
const nestedObj={
0: {
DT_RowId:“第1行”,
组:{group_id:2}
},
1: {
DT_RowId:“第2行”,
组:{group_id:2}
},
2: {
DT_RowId:“第3行”,
组:{group_id:2}
},
3: {
DT_RowId:“第4行”,
组:{group_id:2}
}
}
const GROUP_ID=nestedObj[0]。groups.GROUP_ID;
const isgroupidname=Object.keys(nestedObj).every(key=>nestedObj[key].groups.group\u id===group\u id);
console.log(isGroupIDName)
不清楚数据到底是什么。如果它是数组格式的every()
是您需要的,请将它与第一个索引值进行比较
var objData=[
{组:{group_id:2}},
{组:{group_id:2}},
{组:{group_id:2}},
{组:{group_id:2}},
{组:{group_id:2}},
]
var allMatch=objData.every((n,i,a)=>n.groups.group\u id==a[0]。groups.group\u id)
console.log(所有匹配)
如果getData
是一个数组,如果数组中的每个项都满足给定条件,则可以使用返回true/false。什么是getData
?似乎它是一个jQuery对象??不知道是什么很难回答。谢谢你的帮助。我不知道组id是否等于2。。。我需要检查所有项目是否都相同…这并不能保证所有项目都有相同的组id,这确保了所有项目都有2Ah的id。我误读了问题,抱歉@菲利浦:你知道你要查什么身份证吗?我已经对其进行了更新,以确保它与第一组的group\u id