JavaScript中檢查數組對象並檢查數組對象的某個屬性中是否存在某個值的最佳方法是什麼? 例如:我有一些對象如下: [{name:「team1」,members:3},{name:「bestteam」,members:4}] 現在我想添加一個新對象,但我想要檢查該對象屬性「名稱」在添加之前不存在於數組中查找對象數組中的重複值
0
A
回答
2
試試這個
function checkIfNameExists(arr, newName) {
return arr.some(function(e) {
return e.name === newName;
});
}
其中ARR是您的陣列和了newName是檢查名稱。
你也可以讓它少特設通過將屬性來作爲比較參數,像這樣
function checkIfNameExists(arr, prop, newVal) {
return arr.some(function(e) {
return e[prop] ? e[prop] === newVal : false;
});
}
1
您可以使用簡單的循環。這裏是幫助你找出鍵值是否在數組中的函數。
function keyExist(value, array) {
for(var i in array) {
for(var k in array[i])
if(array[i][k] === value) {
console.log(value + ' is in array!');
return true;
}
}
return false;
}
至於你比如你可以改變第二循環
for(var k in array[i])
if(k === value) { return true; }
到
if(array[i].name === value) { return true; }
0
我沒有時間從我以前的代碼響應,但在這裏,也許有人會優化它.. 。
function JSONRemoveDuplicates(JSONDATA) {
var uniqueNames = [];
$.each(JSONDATA, function (i, el) {
if (!existInJSON(uniqueNames, el) > 0) { uniqueNames.push(el); }
});
return uniqueNames;
}
function existInJSON(jsondata, el) {
var ret = 0;
$(jsondata).each(function (index, data) {
if (data.id == el.id)
ret++;
})
return ret > 0;
}
1
ass uming你說一個對象等於對象當且僅當他們爲每個元素完全相同的元素和值:
var map = {};
for (var i = 0; i < arr.length; i++) {
var index = JSON.stringify(arr[i]);
if (!map[index]) {
map[index] = 1;
} else {
map[index]++;
}
}
for (var key in map) {
if (map[key] > 1) {
console.log ('duplicate found for:');
console.log (JSON.parse (key));
}
}
只是與一些對象定義數組「改編」,並檢查了
1
你可以迭代數組並遍歷數組的鍵並檢查某些屬性是否具有所需的值。
var data = [{ prop1: 'one', prop2: 'two' }, { prop3: 'three', prop4: 'four' }];
function find(v, data) {
data.forEach(function (a, i) {
Object.keys(a).forEach(function (k) {
if (a[k] === v) {
document.write(v + ' found in [' + i + '].' + k);
}
});
});
}
find('three', data);
相關問題
- 1. 查找類對象數組中的值
- 2. 查找對象數組中的值
- 3. 查找ActiveRecord對象數組中的值與重複數據庫調用中的查找值
- 4. 查找數組中的大部分重複對象
- 5. 查找對象的數組值
- 6. 查找重複值多維數組
- 7. C#檢查對象數組重複
- 8. 如何查找對象數組中的重複項並調整重複位置的值
- 9. 查找重複數組
- 10. JavaScript數組 - 查找重複
- 11. 查找json數組中的對象數
- 12. 查找數組中的重複條目
- 13. 查找數組中的重複元素?
- 14. 查找數組中的重複元素
- 15. 查找列表中重複的對數
- 16. 查找對象的值包含嵌套對象和數組
- 17. 在JavaScript的數組查找ID爲對象最大值對象
- 18. 在java中查找數組中的重複值
- 19. 查找與對象數組
- 20. Ruby數組對象查找
- 21. 查找數組對象
- 22. 查找數組中的對象
- 23. 檢查數組中的重複值
- 24. 如何從JavaScript中的對象數組中找到'重疊'值?
- 25. 在數組中查找重複項
- 26. 貓鼬的對象數組值找到第對象數組的
- 27. 獲取具有重複值的數組中的對象
- 28. 如何查找數組中重複值的索引
- 29. 在numpy數組中查找重複值的索引
- 30. 從對象數組中刪除重複的值
你必須要更加具體,並張貼的你考慮重複的一些例子是 – adeneo
可能重複[如何檢查對象數組是否具有重複的屬性值?](http://stackoverflow.com/questions/30735465/how-can-i-check-if-the-array-of- objects-have-duplicate-property-values) – gfullam
重複值vs某些屬性?有什麼問題嗎? –