简体   繁体   English

如何检查 JavaScript 对象数组中是否存在特定对象?

[英]How do I check if a particular object exist or not in a JavaScript array of objects?

How do I check if a particular object exist or not in a JavaScript array of objects?如何检查 JavaScript 对象数组中是否存在特定对象?

// Main array of objects
var dailogMappingData = [
    {
        "name": "AgglomerativeCluster",
        "size": 3938
    }, {
        "name": "CommunityStructure",
        "size": 3812
    }, {
        "name": "HierarchicalCluster",
        "size": 6714
    }
];


// search object to find in the above array is exist or not: 
var findObj = {
    "name": "CommunityStructure",
    "size": 3812
};


var m, n;

for (m = 0; m < this.dailogMappingData.length; m++) {
    for (n = 0; n < mapKeys.length; n++) {
        if (this.dailogMappingData[m][mapKeys[n]] === newObj[mapKeys[n]]) {
            isInArray = true;
        } else {
            isInArray = false;
        }

    }
    if (isInArray) {
        break;
    }
}

How to find an object in an array, or find out if it exists or not?如何在数组中找到一个对象,或者找出它是否存在?

if name property is unique you can simply check if there are any objects in array with the same name:如果name属性是唯一的,您可以简单地检查数组中是否有任何具有相同名称的对象:

 var dailogMappingData = [{ "name": "AgglomerativeCluster", "size": 3938 }, { "name": "CommunityStructure", "size": 3812 }, { "name": "HierarchicalCluster", "size": 6714 }]; var findObj = { "name": "CommunityStructure", "size": 3812 }; const isInArray = dailogMappingData.some(item => item.name === findObj.name); console.log(isInArray);

If you can't rely on name property and need to compare all properties, you may want to use isEqual function from Lodash如果您不能依赖name属性并且需要比较所有属性,您可能需要使用Lodash 的isEqual函数

 var dailogMappingData = [{ "name": "AgglomerativeCluster", "size": 3938 }, { "name": "CommunityStructure", "size": 3812 }, { "name": "HierarchicalCluster", "size": 6714 }]; var findObj = { "name": "CommunityStructure", "size": 3812 }; const isInArray = dailogMappingData.some(item => _.isEqual(findObj, item)); console.log(isInArray);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我如何检查 object 是否存在于数组中,如果它不在数组中以推送它 - how do i check if an object exist in an array, if it is not in the array to push it 如何检查JavaScript中对象数组中的索引是否存在? - How can I check index in object array exist or no in javascript? 有一个对象数组,需要添加新对象。 如何检查是否只有以下键之一:值对 - Have an array of objects, need to add new object. How do I check if only one of key: value pairs exist 如何在对象数组 Javascript 中过滤数组 object? - How do I filter an array object inside of a array of objects Javascript? 检查 javascript 中的 object 中是否存在数组 - check if array exist in object in javascript 如何检查JavaScript中的对象是否与多个对象组成数组? - How to check in JavaScript if object is in array with multiple objects? 如何通过从对象数组更新特定对象内的数组来更新状态? - How do I update the state by updating an array within a particular object from an array of objects? 如何从对象数组中检索随机对象? 使用Javascript - How do I retrieve a random object from an array of objects ? Javascript 如何在 JavaScript 中(动态地)将对象数组转换为对象 - How do I convert an array of objects into an object (dynamically) in JavaScript 如何在 JavaScript 中将对象数组转换为一个对象? - How do I convert array of Objects into one Object in JavaScript?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM