javascript - 如果我不知道键名,如何在 javascript 中遍历键/值对

标签 javascript jquery json

我有一个像这样的 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 the array and Object.keys over iterated item to get all the keys 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/

相关文章:

javascript - javascript中用于音乐提议的累积数组

javascript - knockout.js可以使用模板来生成模板吗?

javascript - 动态创建事件并将参数传递给函数

javascript - 如何循环遍历包含数组的 JSON 对象?

javascript - 如何让 pdfJS 从 URL 渲染 pdf?

javascript - 捕获最近的元素

javascript - 用逗号格式化数字并获取总值

xml - 如何获取json或xml格式的开奖结果

json - 带有 jq 的无效数字文字

javascript - 在 Javascript 中访问 Shopify Liquid 变量