如何将javascript对象数组转换为我想要的对象属性的字符串数组?

PK.*_*PK. 53 javascript

可能重复:
访问对象数组的属性

鉴于:

[{
    'id':1,
    'name':'john'
},{
    'id':2,
    'name':'jane'
}........,{
    'id':2000,
    'name':'zack'
}]
Run Code Online (Sandbox Code Playgroud)

最好的方法是:

['john', 'jane', ...... 'zack']
Run Code Online (Sandbox Code Playgroud)

我必须循环并推item.name送到另一个数组,还是有一个简单的功能来做到这一点?

tec*_*bar 92

如果你的对象数组是items,你可以这样做:

var items = [{
  id: 1,
  name: 'john'
}, {
  id: 2,
  name: 'jane'
}, {
  id: 2000,
  name: 'zack'
}];

var names = items.map(function(item) {
  return item['name'];
});

console.log(names);
console.log(items);
Run Code Online (Sandbox Code Playgroud)

文档: map()

  • 您可以使用更现代的语法,如下所示:names = items.map((item) => item.name); (5认同)
  • @ bru.scopelliti`map()`是本机JavaScript而不仅仅是jQuery. (2认同)
  • @bru.scopelliti - 我的回答与 jQuery 无关。 (2认同)

Sir*_*rko 9

map()在 JavaScript 数组上使用本机函数:

var yourArray = [ {
    'id':1,
    'name':'john'
},{
    'id':2,
    'name':'jane'
}........,{
    'id':2000,
    'name':'zack'
}];

var newArray = yourArray.map( function( el ){ 
                                return el.name; 
                               });
Run Code Online (Sandbox Code Playgroud)