如何改变这个......
var data1 = ['Test1', 'Test2'];
......进入这个:
var data2 = [{
name: 'Test1',
type: {
id: 'TEST'
}
}, {
name: 'Test2',
type: {
id: 'TEST'
}
}];
答案 0 :(得分:3)
真的没有捷径。您只需循环并生成新数组。在启用ES5的系统上,您可以使用Array#map
:
var data2 = data1.map(function(entry) {
return {
name: entry,
type: {
id: "TEST"
}
};
});
Array#map
可以在早期的引擎上进行填充(搜索" es5 shim"有几个选项),或者您只需使用标准的for
循环:
var index;
var data2 = [];
for (index = 0; index < data1.length; ++index) {
data2.push({
name: data1[index],
type: {
id: "TEST"
}
});
}
答案 1 :(得分:0)
Vanilla JS,旧兼容版本:
function convertArrayToObject(array) {
var obj = [];
for(var i = 0; i < array.length; i++) {
obj.push({
name: array[i],
type: {
id: 'TEST'
}
});
}
return obj;
}