我有一个像这样的 json:
var json = [{"Google":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},
{"Linkedin":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},
{"Uber":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},
{"Akamai":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},
{"Apple":[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]},
{"Hulu":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},
{"IBM":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},
{"Spotify":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},
{"Amazon":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}];
我想遍历它。 json.length 返回 9 => 暗示这个 json 中有 9 个键/值对。如何在 javascript 中找到索引 0 处的键及其对应的值。
我尝试使用类似的东西:
$.each(json, function(k, v) {
//display the key and value pair
alert(k + ' is ' + v);
});
但这里的键返回 1,2,3... 并且值作为 [object object]
最佳答案
Use
Array.prototype.forEach()
to iterate through thearray
andObject.keys
over iterated item to get all thekeys
of individual object.
var json = [{
"Google": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
"Linkedin": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
"Uber": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
"Akamai": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
"Apple": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
}, {
"Hulu": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
"IBM": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
"Spotify": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
"Amazon": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}];
json.forEach(function(item) {
var keys = Object.keys(item);
console.log(keys);
//to get the values
keys.forEach(function(key) {
console.log(item[key]);
})
});
关于javascript - 如果我不知道键名,如何在 javascript 中遍历键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36905536/