2017-04-06 87 views
0

的我有以下数组:数组对象数组

var arr = [{name: "one name"}, {name: "second name"}, {name: "third name"}] 

我的目标是有数组是这样的:

var result = ["one name", "second name", "third name"] 

我玩弄这样的事情,就可以” t正确:

var result = []; 
for (var i=0; i<arr.length; i++) { 
    result[arr[i]] = arr[i].NAME; 
} 

我误会了什么?

我期待如何纠正我的代码,并使用循环代替阵图

+1

什么是'arr [i]'? –

+0

您正在重新创建map() – epascarello

+1

和NAME!== name,并且您将数组的索引设置为一个字符串。 – epascarello

回答

2

这是如何解决你的代码与for循环做

var arr = [{name: "one name"}, {name: "second name"}, {name: "third name"}] 
 
var result = []; 
 
for (var i=0; i<arr.length; i++) { 
 
    result[i] = arr[i].name; 
 
} 
 

 
console.log(result);

但是使用map会更习惯javascript。

1

,你可以在属性值与Array#map映射。

var array = [{name: "one name"}, {name: "second name"}, {name: "third name"}], 
 
    result = array.map(a => a.name); 
 
    
 
console.log(result);

0

您可以简单地使用.map()命令做这样的事情:

const result = arr.map(i => i.name)