[英]Looping through an object and a nested for loop that loops through array
我正在遍歷一個對象,然后在每個對象上將其與數組中的項目進行比較,以期將不相同的對象推送到我的ItemsNotInObject數組中。 希望有人可以為我照亮一點。 先感謝您。
var obj = {a:1, a:2, a:3};
var array = [1, 4, 2, 5, 6];
var ItemsNotInObject = [];
for (var prop in obj) {
for(var i = 0, al = array.length; i < al; i++){
if( obj[prop].a !== array[i] ){
ItemsNotInObject.push(array[i]);
}
}
}
console.log(ItemsNotInObject);
//output of array: 1 , 4 , 2 , 5, 6
//output desired is: 4 , 5 , 6
如果可以將obj變量設置為數組,則可以采用這種方式;
var obj = [1, 2, 3];
var array = [1, 4, 2, 5, 6];
var ItemsNotInObject = [];
for(i in array){
if( obj.indexOf(array[i]) < 0) ItemsNotInObject.push(array[i]);
}
console.log(ItemsNotInObject);
如果obj變量需要是json對象,請提供它的正確形式,以便我可以根據它更改代碼。
JSON
對象。 使它們獨特 obj[prop].a
類的對象值, obj[prop]
是 a
indexOf()
檢查數組是否包含對象屬性。 var obj = { a: 1, b: 2, c: 3 }; var array = [1, 4, 2, 5, 6]; var ItemsNotInObject = array.slice(); //clone the array for (var prop in obj) { if (array.indexOf(obj[prop]) != -1) { for (var i = 0; i < ItemsNotInObject.length; i++) { if (ItemsNotInObject[i] == obj[prop]) { ItemsNotInObject.splice(i, 1); //now simply remove it because it exists } } } } console.log(ItemsNotInObject);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.