2016-09-10 2 views
3

У меня есть массив объектов, как этотСколько JavaScripts indexOfKey работает

var x = [{"_id":null,"count":7},{"_id":false,"count":362},  {"_id":true,"count":926}] 

Как принимать индекс _id = ложь; объект

x.indexOfKey(false, "_id") попытался это, но возвращает -1 и это работает отлично x.indexOfKey(true, "_id")

Что я делаю не так ??

+0

что вы пытаетесь сделать? – brk

+0

с этим кодом ничего не случилось. Посмотрите, показывает ли консоль какая-то ошибка или нет? –

+2

Нет такого метода 'Array # indexOfKey', там есть [' Array # indexOf'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) – Xotic750

ответ

1
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, как ложные в над массивом.

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); 
    } 
}); 

Это будет отслеживать и толкать все idexes объекта в idxs массив, оказывает _id как указано в приведенном выше массиве2

console.log(idxs); // [1,3] 

Ждем примера: https://jsbin.com/nukitam/2/edit?js,console

Надеюсь, это поможет! Thanks

0

, чтобы получить индекс из массива объектов, используя свойство можно использовать следующим образом:

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);

карту свойство в массив, а затем использовать indexOfhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

Смежные вопросы