将数组转换为数组的对象

我有以下数组列表。将数组转换为数组的对象

var data = [ "USA", "Denmark", "London"]; 

我需要将其转换以这种形式

var data = [ 

{ "id" : 1, "label": "USA" },

{ "id" : 2, "label": "Denmark" },

{ "id" : 3, "label": "London" }

];

任何人都可以请让我知道如何实现这一目标。

回答:

很容易使用Array.map(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)

var formatted = data.map(function(country, index) { 

return { id: (index + 1), label: country }

});

回答:

简易版:

var convertedData = [] 

for (var i in data){

convertedData.push({id: i+1, label: data[i]});

}

data = convertedData; //if you want to overwrite data variable

回答:

您可以通过数据阵列

var data = [ "USA", "Denmark", "London"]; 

var demArray =[];

data.forEach(function(item,index){

demArray.push({

id:index+1,

label:item

})

})

console.log(demArray)

JSFIDDLE

使用

forEach循环

回答:

Underscore方式(对于旧的浏览器不支持Array.map):

var res = _.map(data, function(p, i){ 

return {id: i + 1, label: p};

});

以上是 将数组转换为数组的对象 的全部内容, 来源链接: utcz.com/qa/266406.html

回到顶部