将数组转换为数组的对象
我有以下数组列表。将数组转换为数组的对象
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