Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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_Arrays - Fatal编程技术网

组合JavaScript数组

组合JavaScript数组,javascript,arrays,Javascript,Arrays,我想采用如下格式的JavaScript对象: results = { names: [ "id", "first_name" ], values: [ [ 1234, "Fred" ], [ 4321, "Joe" ], [ 1123,

我想采用如下格式的JavaScript对象:

results = {
   names: [
        "id",
        "first_name"
        ],
    values: [
        [
            1234,
            "Fred"
        ],
        [
            4321,
            "Joe"
        ],
        [
            1123,
            "Mary"
        ]
    ]
}
并转化为:

    results = {
        [id: 1234, name: "Fred"],
        [id: 4321, name: "Joe"],
        [id: 1123, name: "Mary"]
    }
我尝试过这样做,但我无法获得正确的结构:

var data = []
for (i=0; i < results['values'].length; i++ ){
    var innerData = []
    for (b=0; b < results['names'].length; b++ ){
        innerData.push([name:results['names'][b], value: results['values'][i][b]])
    }
    data.push(innerData)
}
console.log(data)
var数据=[]
对于(i=0;i
问题1:

results = {
    [id: 1234, name: "Fred"],
    [id: 4321, name: "Joe"],
    [id: 1123, name: "Mary"]
}

数组
[]
由一组按顺序排列的值组成

对象
{}
由一组
键:值
对组成

你每次都用错了。在有
[]
的地方使用
{}
,反之亦然


问题2:

results = {
    [id: 1234, name: "Fred"],
    [id: 4321, name: "Joe"],
    [id: 1123, name: "Mary"]
}
您说希望对象具有
id
name
键,但您正在尝试创建
name
value
键。使用实际需要的属性名称。

尝试以下操作:

var data = [];
for (i in results['values']){
    var innerData = {}
    var value = results['values'][i];
    for (b in value){
        var key = results['names'][b];
        innerData[key] = value[b]; 
    }
    data.push(innerData);
}
console.log(data);
var data = [];
for (i in results['values']){
    var innerData = {}
    var value = results['values'][i];
    for (b in value){
        var key = results['names'][b];
        innerData[key] = value[b]; 
    }
    data.push(innerData);
}
console.log(data);