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

How do I get a key value of each object in a javascript object?

本文关键字:对象 键值 javascript      更新时间:2023-09-26

如果我有一个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
  }
];

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

for循环:

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

可能不是最有效的,但却是最短和最易读的(IMO):

var names = files.map(function (file) { return file.name; });
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

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

一个简单的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]);
}