这是我的阵列:
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 :(得分: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
就是当你想要将一系列事物变成一件事时。
答案 1 :(得分:0)
var country = ["US(+1)","IND(+91)"];
我会使用更具描述性的词,因为它是一个国家列表。
var countries = ["US(+1)","IND(+91)"];
但是要回答你的问题,要将数组操作到一个新数组中,我喜欢使用array.map方法:
var objects = countries.map(function(country){ return { title: country } });
以下是地图的文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map?v=control