如果我在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
}
];
列出每个对象名称的最有效方法是什么?
答案 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]);
}