Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组转换为对象数组的最佳方式是什么?_Javascript_Jquery - Fatal编程技术网

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:不客气,很高兴这有帮助。