Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 数组数组jquery,json到数组_Javascript_Jquery_Arrays_Json_Push - Fatal编程技术网

Javascript 数组数组jquery,json到数组

Javascript 数组数组jquery,json到数组,javascript,jquery,arrays,json,push,Javascript,Jquery,Arrays,Json,Push,我所拥有的JSON: [{"one":"a","two":"1","three":"2","four":"3"}, {"one":"b","two":"4","three":"5","four":"6"}, {"one":"c","two":"7","three":"8","four":"9"}] 我需要的阵列: [[[1,"a"], [4,"b"], [7,"c"]], [[2,"a"], [5,"b"], [8,"c"]], [[3,"a"], [6,"b"], [9,"c"]]]

我所拥有的JSON:

[{"one":"a","two":"1","three":"2","four":"3"},
 {"one":"b","two":"4","three":"5","four":"6"},
 {"one":"c","two":"7","three":"8","four":"9"}]
我需要的阵列:

[[[1,"a"], [4,"b"], [7,"c"]],
 [[2,"a"], [5,"b"], [8,"c"]],
 [[3,"a"], [6,"b"], [9,"c"]]]
如何处理JSON以将其转换为数组

我需要动态地执行它,因为JSON可能更大(a、b、c、z行更多)。这四列是固定的(一、二、三、四),不会改变

我尝试了几种方法…使用.push,创建数组=[[],尝试数组=新数组(3),然后在每个位置创建数组[0]=新数组[],但我还没有解决,我已经花了一整天的时间尝试这个,一整天

我认为解决方案是在这里使用push-like 但我不太理解这个解决方案


非常感谢您的帮助。

在您的json中,它的数组位于数组内部,因此第一个数组是单个项目,第二个数组是3个项目。因此,您需要编写内部for循环来获取第二个数组2项,如下所示

for(var i=0; i<info.length; i++)
{
    for(var j=0; j<info[i].length; j++)
    {
        Ti.API.info("Title : " + sample[i][j].one);
        Ti.API.info("Desc : " + sample[i][j].a);
    }
}

for(var i=0;i您可以映射行和列,如下所示:


你有嵌套的数组,所以基本上你需要嵌套的循环。或者你可以尝试
map
函数。谢谢你的回答,但是我没有在数组中移动的问题(我可以用$.each(resultado,function(key,value))来完成)我遇到的问题是-->如何构建新的阵列!!我真的用了一整天的时间来解决这个问题。现在它工作得很好!!我感谢你的帮助
var sampleData = [{"one":"a","two":"1","three":"2","four":"3"},
 {"one":"b","two":"4","three":"5","four":"6"},
 {"one":"c","two":"7","three":"8","four":"9"}];


function transform(data){

    var prepared = data.map(function(row){
        var keys = Object.keys(row);
        var values = keys.map(function(key){
            return row[key];
        });
        var columnOne = values[0];
        var otherColumns = values.slice(1);

        return {
            letter: columnOne,
            numbers: otherColumns
        };

    });    

    var rows = [];

    prepared.forEach(function(row){

        row.numbers.forEach(function(number, i){

            if( i >= rows.length ){
                rows.push([]);
            }

            rows[i].push([+number, row.letter]);

        });

    });    

    return rows;

}


var result =  transform(sampleData) ;
console.log(JSON.stringify(result, null, 4));