2017-01-12 39 views
2

我想要使用指定的键将数组转换为数组。使用脚本将Json转换为数组Angular2 js

[ 
    {"id":1,"url": "http://test.com"}, 
    {"id":2,"url":"https://ad.com/"}, 
    {"id":3,"url":"https://ad12.com/"}, 
    {"id":4,"url":"https://ad12.com/"} 
] 

代码:

http.get('', { headers: ''}) 
    .map(var response => response.json(); 
    return response.map(d => { 
    return new class(d.url); 
    });); 

我只需要URL键值。

Output:`["http://test.com", "http://ad.com", "http://ad12.com"] 

`

+0

好,为什么不是在模型持有它并应用映射过来的吗? –

+0

我已经尝试过但不能实现它。 –

+2

请显示您尝试过的内容。 – echonax

回答

1

它应该是:

http.get('', { headers: ''}) 
    .map(response => { 
     return response.json().map(d => { 
      return new class(d.url); 
     }); 
    }); 
0

如果使用lodash然后..

var urls = _.map(yourArray, 'url'); 

或ES6和lodash ..

let urls = _.map(yourArray, 'url'); 

或ES6并没有lodash ..

lets urls = yourArray.map((obj) => { 
    return obj.url; 
}); 

或ES5并没有lodash ..

lets urls = yourArray.map(function (obj) { 
    return obj.url; 
}); 
+1

更习惯性的ES6将会是map(({url})=> url)'。 –

+0

不错的thx小费 – danday74