Javascript 将数组转换为对象数组的最佳方式是什么?
如何把这个Javascript 将数组转换为对象数组的最佳方式是什么?,javascript,jquery,Javascript,Jquery,如何把这个 var data1 = ['Test1', 'Test2']; 。。。为此: var data2 = [{ name: 'Test1', type: { id: 'TEST' } }, { name: 'Test2', type: { id: 'TEST' } }]; 其实没有捷径可走。您只需循环并生成新数组。在启用ES5的系统上,您可以使用Array#map: var data2 = data1.m
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填隙”以获得多个选项),或者您可以简单地使用标准的进行
循环:
var index;
var data2 = [];
for (index = 0; index < data1.length; ++index) {
data2.push({
name: data1[index],
type: {
id: "TEST"
}
});
}
var指数;
VarData2=[];
对于(索引=0;索引
香草JS,旧版兼容版本:
function convertArrayToObject(array) {
var obj = [];
for(var i = 0; i < array.length; i++) {
obj.push({
name: array[i],
type: {
id: 'TEST'
}
});
}
return obj;
}
函数convertArrayToObject(数组){
var-obj=[];
对于(var i=0;i
您尝试过最坏的方法吗?一个程序应该如何准确地知道每个项目的id
?非常感谢您,两种方法都很好。@user2785356:不客气,很高兴这有帮助。