簡體   English   中英

javascripts indexOfKey如何工作

[英]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將具有該特定對象的索引值,該索引值在上面的數組中具有鍵_idfalse

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM