Javascript 检查数组的数组对象中是否存在元素
我有一个这样的数组Javascript 检查数组的数组对象中是否存在元素,javascript,html,arrays,sorting,Javascript,Html,Arrays,Sorting,我有一个这样的数组 var MembersArray = [ { id: [1,2], name: ['Arjun', 'Parth'], }, { id: [2,5], name: ['Arjun', 'Rahul'] }, { id: [3,6], name: ['Chetan', 'kumar'] } ]; 我想知道MembersArray中是否
var MembersArray = [
{
id: [1,2],
name: ['Arjun', 'Parth'],
},
{
id: [2,5],
name: ['Arjun', 'Rahul']
},
{
id: [3,6],
name: ['Chetan', 'kumar']
}
];
我想知道MembersArray中是否存在id 2,通常如果数组类似于[1,2,3],那么我们可以使用array.some方法,但我不知道如何检查该id是否存在于该数组中 您可以使用过滤器获得所需的结果
var MembersArray=[
{
id:[1,2],
姓名:['Arjun','Parth'],
},
{
id:[2,5],
姓名:['Arjun','Rahul']
},
{
id:[3,6],
姓名:['Chetan','kumar']
}
];
const res=MembersArray.filter{id}=>id.indexOf2>-1;
console.logres;常数id=2;
const isIdInArray=MembersArray.someitem=>item.id.includesid;
现在您有了常量isIdInArray,它是布尔类型。Solutions
你可以嵌套另一个数组方法,比如some,includes,或者在ids上查找和迭代。你可以给我一个sameInside的例子吗。您需要访问该对象的id属性,并使用例如includes方法:object.id.includes2
<script>
var MembersArray = [
{
id: [1, 2],
name: ['Arjun', 'Parth']
},
{
id: [2, 5],
name: ['Arjun', 'Rahul']
},
{
id: [3, 6],
name: ['Chetan', 'kumar']
}
];
var checkMemberId = 2;
function fn_checkMemberId(_checkMemberId, _membersArray) {
let _memberExist = false;
for (i = 0; i < _membersArray.length; i++) {
if (_membersArray[i]['id'].includes(_checkMemberId)) {
_memberExist = true;
break;
}
}
return _memberExist;
}
let memberExistResult = fn_checkMemberId(checkMemberId, MembersArray);
console.log(`Member ${checkMemberId} exist: ${memberExistResult}`);
</script>