我有一个如下对象:
asset: {
images []
}
图片看起来像这样:
image {
width,
height,
fileName
}
我需要将所有图像文件名投影到一个数组中。明显的实现如下:
var fileNames = [];
var i;
for (i = 0; i < asset.images.length; i++) {
fileNames.push(asset.images[i].fileName);
}
有人知道在1或2行中这样做的奇特方法吗?您可以使用jQuery或angularJs
答案 0 :(得分:1)
var fileNames = asset.images.map(function(i) {
return i.fileName;
});
这是在数组的每个元素上运行一组指令的最快方法。
答案 1 :(得分:0)
asset.images.map(function(i) {return i.fileName;};);
var asset = {};
asset.images = [];
asset.images.push({fileName: "test1"});
asset.images.push({fileName: "test2"});
asset.images.push({fileName: "test3"});
asset.images.push({fileName: "test4"});
alert(asset.images.map(function(i) {return i.fileName;}));