2017-04-06 88 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)