2017-05-04 37 views
0

这是我的数组:将每个阵列值IAS对象在javascript不工作

var country = ["US(+1)","IND(+91)"]; 

,我想我的数组转换在此以下格式:

country = [ 
    { 
     title: "US(+1)",  
    }, 
    { 
     title: "IND(+91)",  
    } 
    ] 

title应该是相同的每个数组值。 与此代码我试图让我的预期的结果如上

var obj = country.reduce(function(o, val) { o['title'][] = val; return o; }, {}); 

但我的输出就这样产生了,如下:只有最后一个索引正在发生

{"title":"IND(+91)"}这是错误的输出,我不想

+0

你的代码是什么样的? – captncraig

+0

我的表现是这样的,我不想要{“title”:“IND(+91)”} – vaibhav

回答

3

您可以用reduce做到这一点,但它更容易使用map

var country = ["US(+1)","IND(+91)"]; 
 
var obj = country.map(function(c){return {title:c}}); 
 

 
console.log("country:", country); 
 
console.log("obj:", obj);

map是当你想打开一个事物的数组的东西另一个数组,reduce是当你想打开一个事物的数组只是一个单一的东西。

+0

为了扩大这一点,请注意,一般来说'map'是用于当你想把一些东西变成另一组数据,而'reduce'是当你想将一组东西变成一件事情时 – Hamms

+0

确保使用降价缩进而不是后退节点来包装代码,以使其正确显示。 – Soviut

+1

@Hamms我只是把你的评论放入后人的答案中。 – Soviut

相关问题