Reputation: 2457
say if I have a json object like:
{
"items":[
{"key_1": "value 1"},
{"key_2": "value 2"},
{"key_3": "value 3"},
{"key_4": "value 4"},
{"key_5": "value 5"},
{"key_6": "value 6"},
{"key_7": "value 7"},
{"key_8": "value 8"}
]
}
is there a way for me to get which index is that key_id that i provided:
key = "key_3";
index_number = find index of key;
Upvotes: 0
Views: 1500
Reputation: 1021
Try this :
var obj = {
"items":[
{"key_1": "value 1"},
{"key_2": "value 2"},
{"key_3": "value 3"},
{"key_4": "value 4"},
{"key_5": "value 5"},
{"key_6": "value 6"},
{"key_7": "value 7"},
{"key_8": "value 8"}
]
};
function getIndexOfKey(key){
for (var i = 0; i < obj.items.length; i++)
{
if (typeof(obj.items[i][key]) != 'undefined')
{
return i;
}
}
return -1;
}
You can see it in action here : http://jsfiddle.net/GTXBU/
Upvotes: 2
Reputation: 701
You can try some thing like this:
var obj = {
"items":[
{"key_1": "value 1"},
{"key_2": "value 2"},
{"key_3": "value 3"},
{"key_4": "value 4"},
{"key_5": "value 5"},
{"key_6": "value 6"},
{"key_7": "value 7"},
{"key_8": "value 8"}
]
}
var key = "key_3";
for(var index in str.items){
if(str.items[index][key]!=undefined) break;
}
console.log(index);
Upvotes: 0