[英]How javascripts indexOfKey works
我有一個像這樣的數組對象
var x = [{"_id":null,"count":7},{"_id":false,"count":362}, {"_id":true,"count":926}]
如何獲取_id = false的索引; 賓語
嘗試了這個x.indexOfKey(false, "_id")
但返回-1,這很好用x.indexOfKey(true, "_id")
我究竟做錯了什么??
使用標准的array.findIndex
API。
看到:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
var x = [{"_id":null,"count":7},{"_id":false,"count":362}, {"_id":true,"count":926}]; console.log("Index of _id==false is: " + x.findIndex((element) => { return element._id == false; }));
var array = [{"_id":null,"count":7},{"_id":false,"count":362},{"_id":true,"count":926}];
var idx = -1;
array.filter(function(val, key) {
if (val['_id'] === false) {
idx = key;
}
});
現在,idx將具有該特定對象的索引值,該索引值在上面的數組中具有鍵_id為false 。
console.log(idx); // 1
如果我們想要具有相同鍵值的多個索引,那么我們可以使用數組
var array2 = [{"_id":null,"count":7},{"_id":false,"count":362},{"_id":true,"count":926}, {"_id":false,"count":462}];
var idxs = [];
array2.filter(function(val, key) {
if (val['_id'] === false) {
idxs.push(key);
}
});
這將跟蹤並將對象的所有idex推入idxs數組, 該數組在上面的array2中具有_id為false
console.log(idxs); // [1,3]
以下是工作實例: https : //jsbin.com/nukitam/2/edit?js,console
希望這可以幫助 ! 謝謝
要使用屬性從對象數組中獲取索引,您可以使用:
var x = [{ "_id": null, "count": 7 }, { "_id": false, "count": 362 }, { "_id": true, "count": 926 }] var index = x.map(function(e) { return e._id; }).indexOf(true); console.log(index);
將屬性映射到數組,然后使用indexOf
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.