Javascript 将数组转换为对象数组
我有以下数组列表Javascript 将数组转换为对象数组,javascript,arrays,angularjs,object,underscore.js,Javascript,Arrays,Angularjs,Object,Underscore.js,我有以下数组列表 var data = [ "USA", "Denmark", "London"]; 我需要把它转换成这种形式 var data = [ { "id" : 1, "label": "USA" }, { "id" : 2, "label": "Denmark" }, { "id" : 3, "label": "London" } ]; 谁能告诉我如何做到这一点 使用Array.map非常简单 简单版本: var convertedData = [] for (var i
var data = [ "USA", "Denmark", "London"];
我需要把它转换成这种形式
var data = [
{ "id" : 1, "label": "USA" },
{ "id" : 2, "label": "Denmark" },
{ "id" : 3, "label": "London" }
];
谁能告诉我如何做到这一点 使用Array.map非常简单
简单版本:
var convertedData = []
for (var i in data){
convertedData.push({id: i+1, label: data[i]});
}
data = convertedData; //if you want to overwrite data variable
您可以使用forEach在数据数组中循环
var data = [ "USA", "Denmark", "London"];
var demArray =[];
data.forEach(function(item,index){
demArray.push({
id:index+1,
label:item
})
})
console.log(demArray)
不支持旧浏览器的方式:
var data = [ "USA", "Denmark", "London"];
var demArray =[];
data.forEach(function(item,index){
demArray.push({
id:index+1,
label:item
})
})
console.log(demArray)
var res = _.map(data, function(p, i){
return {id: i + 1, label: p};
});