如何从angularjs

时间:2017-11-05 19:09:48

标签: javascript angularjs

我有一个具有这种结构的数组,我想创建一个只推送另一个数组url(key)值的函数。 我应该创建像foreach这样的函数吗?或只是一个过滤器?

    [{name: 'portada',url:"foto.jpg" },
    {name: 'portada2',url:"foto2.jpg" }]

1 个答案:

答案 0 :(得分:1)

这是一个简单的es6数组扩展。 您可以使用map函数返回包含所需属性的新数组。

ES6语法

 const imagesDataList = [{name: 'portada',url:"foto.jpg" },
     {name: 'portada2',url:"foto2.jpg" }];

 const imagesUrlsList = imagesDataList.map(imageData => imageData.url);

 console.log(imagesUrlsList);// ["foto.jpg", "foto2.jpg"]

使用lodash

的ES5语法
var imagesDataList = [{name: 'portada',url:"foto.jpg" },
    {name: 'portada2',url:"foto2.jpg" }];

var imagesUrlsList = _.map(imagesDataList, function(imageData){ 
  return imageData.url;
    });


console.log(imagesUrlsList); // ["foto.jpg", "foto2.jpg"]

纯es5

var imagesDataList = [{name: 'portada',url:"foto.jpg" },
    {name: 'portada2',url:"foto2.jpg" }];

var imagesUrlsList = [];

for(imageData in imagesDataList){

  imagesUrlsList.push(imagesDataList[imageData].url);
}

console.log(imagesUrlsList);// ["foto.jpg", "foto2.jpg"]