javascript - 如何访问数组中的数组元素(JavaScript)?

标签 javascript arrays transpose

我正在尝试访问 JavaScript 数组中的元素:

[["1","John"],["2","Rajan"],["3","Hitesh"],["4","Vin"],["5","ritwik"],["6","sherry"]]

我想访问 1, 2, 3, 4, 5, 6 分别在一个变量中,John, Rajan, Hitesh, Vin, Ritwik, Sherry 分别在一个变量中。 我尝试将其转换为字符串并 split(),但它不起作用。

这是我尝试过的代码

var jArray = <?php echo json_encode($newarray); ?> ;    
var nJarr = jArray[0]; nJarr.toString();    
var res = nJarr.split(","); var apname = res[0];    
alert(apname); 

但屏幕上没有出现任何警报

最佳答案

如果您愿意使用 Underscore,那么它就是

var transposed = _.zip.apply(0, arr);

您要查找的数组将位于 transpose[0]transpose[1] 中。

您可以相当轻松地编写自己的转置函数,并且如果您可以使用 ES6 语法,它会更加紧凑:

transpose = arr => Object.keys(arr[0]).map(i => arr.map(e => e[i]));

>> transpose([["1","John"], ["2","Rajan"], ...]]
<< [[1, 2, ...], ["John", "Rajan", ...]]

如果您想要 ES5 版本,这里有一个带有注释的版本:

function transpose(arr) {          // to transpose an array of arrays
    return Object.keys(arr[0]) .   // get the keys of first sub-array
        map(function(i) {          // and for each of these keys
            arr .                  // go through the array
                map(function(e) {  // and from each sub-array 
                    return e[i];   // grab the element with that key
                })
        ))
    ;
}

如果您更喜欢旧式 JS:

function transpose(arr) {

    // create and initialize result
    var result = [];
    for (var i = 0; i < arr[0].length; i++ ) { result[i] = []; }

    // loop over subarrays
    for (i = 0; i < arr.length; i++) {
        var subarray = arr[i];

        // loop over elements of subarray and put in result
        for (var j = 0; j < subarray.length; j++) {
            result[j].push(subarray[j]);
        }
    }

    return result;
}

关于javascript - 如何访问数组中的数组元素(JavaScript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29314701/

相关文章:

javascript - 如何通过迭代内生成的字符串访问 JSON 对象索引

javascript - 如何使用 jQuery 将查询字符串传递给 Ajax 调用?

php - 展开数组并删除前缀

r - 在R中转置data.frame并将列之一设置为新转置表的标题的最佳方法是什么?

javascript - 带有无声 ajax 调用的 PayPal 快速结帐安全性

javascript - 如何将存储的 javascript 从 node.js 保存到 mongodb

c - 用于创建链表的数组

java - 带有 actionListener 的 JButton 数组...打印结果时出现问题

python - numpy - 不同维度的numpy数组的求和

json - jq:如何并排获取 2 个一维数组作为输出