एक वस्तु को दूसरे से तुलना करने के लिए, मैं लूप में (वस्तुओं के माध्यम से लूप में प्रयुक्त) और कुछ के लिए संयोजन करता हूं। आपको किसी सीमा से बाहर जाने आदि के बारे में चिंता करने की ज़रूरत नहीं है, जिससे कुछ कोड की बचत होती है। .Some पर प्रलेखन यहाँ पाया जा सकता है
var productList = [{id: 'text3'}, {id: 'text2'}, {id: 'text4', product: 'Shampoo'}]; // Example of selected products
var theDatabaseList = [{id: 'text1'}, {id: 'text2'},{id: 'text3'},{id:'text4', product: 'shampoo'}];
var objectsFound = [];
for(let objectNumber in productList){
var currentId = productList[objectNumber].id;
if (theDatabaseList.some(obj => obj.id === currentId)) {
// Do what you need to do with the matching value here
objectsFound.push(currentId);
}
}
console.log(objectsFound);
एक वैकल्पिक तरीका है कि मैं एक वस्तु की दूसरे से तुलना करता हूं, ऑब्जेक्ट में ऑब्जेक्ट की राशि प्राप्त करने के लिए Object.keys () के साथ लूप के लिए नेस्टेड का उपयोग करना है। नीचे कोड:
var productList = [{id: 'text3'}, {id: 'text2'}, {id: 'text4', product: 'Shampoo'}]; // Example of selected products
var theDatabaseList = [{id: 'text1'}, {id: 'text2'},{id: 'text3'},{id:'text4', product: 'shampoo'}];
var objectsFound = [];
for(var i = 0; i < Object.keys(productList).length; i++){
for(var j = 0; j < Object.keys(theDatabaseList).length; j++){
if(productList[i].id === theDatabaseList[j].id){
objectsFound.push(productList[i].id);
}
}
}
console.log(objectsFound);
अपने सटीक प्रश्न का उत्तर देने के लिए, यदि आप किसी ऑब्जेक्ट में एक मूल्य खोज रहे हैं, तो आप लूप के लिए एकल का उपयोग कर सकते हैं।
var vendors = [
{
Name: 'Magenic',
ID: 'ABC'
},
{
Name: 'Microsoft',
ID: 'DEF'
}
];
for(var ojectNumbers in vendors){
if(vendors[ojectNumbers].Name === 'Magenic'){
console.log('object contains Magenic');
}
}