这个怎么转...
var data1 = ['Test1', 'Test2'];
...进入这个:
var data2 = [{
name: 'Test1',
type: {
id: 'TEST'
}
}, {
name: 'Test2',
type: {
id: 'TEST'
}
}];
这个怎么转...
var data1 = ['Test1', 'Test2'];
...进入这个:
var data2 = [{
name: 'Test1',
type: {
id: 'TEST'
}
}, {
name: 'Test2',
type: {
id: 'TEST'
}
}];
真的没有捷径。您只需循环并生成新数组。在启用 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"
}
});
}
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;
}