如何获取javascript对象中每个对象的键值?

时间:2014-06-11 21:39:12

标签: javascript arrays object

如果我在JS中有一个对象,如下例所示:

var files = [
  {
    "name":"test.png",
    "type":"image/png",
    "size":3536
  },
  {
    "name":"test.png",
    "type":"image/png",
    "size":3536
  },
  {
    "name":"test.png",
    "type":"image/png",
    "size":3536
  }
];

列出每个对象名称的最有效方法是什么?

4 个答案:

答案 0 :(得分:2)

使用for循环:

for (var i = 0; i < files.length; i++) {
    console.log(files[i].name);
}

答案 1 :(得分:1)

可能不是最有效但最短且最具可读性的(IMO):

var names = files.map(function (file) { return file.name; });

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

答案 2 :(得分:0)

for(var i=0,l=files.length;i<l;i++) {
    console.log(files[i].name);
}

答案 3 :(得分:0)

简单的for循环应该效果最好:

for (var i = 0; i < files.length; i++) {
    console.log(files[i].name);
}

要将上述内容作为键值,您可以创建一个对象而不是数组:

var files = {
    "test1.png":
    {
        "type":"image/png",
        "size":3536
    },
    "test2.png":
    {
        "type":"image/png",
        "size":3536
    },
    "test3.png":
    {
        "type":"image/png",
        "size":3536
    }
};

然后你会像这样迭代它们:

for (var key in files) {
    console.log("File name: " + key);
    console.log("File data: " + files[key]);
}