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

How to access elements of arrays within array (JavaScript)?

本文关键字:数组元素 JavaScript 数组 访问 何访问      更新时间:2023-09-26

我正在尝试访问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); 

但屏幕上没有出现警报

如果您对使用Undercore持开放态度,那么它只是

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

并且您要查找的阵列将位于CCD_ 1和CCD_。

你可以很容易地编写自己的转置函数,如果你能使用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;
}

像下面的一样

var arr = [["1","John"],["2","Rajan"],["3","Hitesh"],["4","Vin"],["5","ritwik"],["6","sherry"]];
var numbers = arr.map(function(a){return a[0]}); //numbers contain 1,2,3,4,5
var names = arr.map(function(a){return a[1]}); //names contain John,Rajan...

试试这个:

var data = [["1","John"],["2","Rajan"],["3","Hitesh"],["4","Vin"],["5","ritwik"],["6","sherry"]];
var IDs = [];
var names = [];
for(i=0; i<data.length; i++)
{
   IDs.push(data[i][0]);
   names.push(data[i][1]);
}
 console.log(IDs);
 console.log(names);

这是正在工作的小提琴。