数组中的变量名列表

list of the variable names inside array

我有一个包含一组数组的数组,我想访问内部数组变量名,例如;

     var mainArr = [
             arr1 = ["1","2","3"],
             arr2 = ["4","5","6"],
             arr3 = ["7","8","9"],
                   ];

我要打印 arr1、arr2、arr3。

请注意,我使用的是 Javascript Ecma 5

你问的实际上是一个JavaScript对象。

const obj = {
    arr1: ['1','2','3'],
    arr2: ['4','5','6'],
    arr3: ['7','8','9']
}

您可以像 obj['arr1'] 等那样访问此对象的 "properties"

要获取 属性 个名称,您可以使用: Object.getOwnPropertyNames(obj)。它将 return 一组键 (['arr1', 'arr2', 'arr3'])。

您需要像 {arr1: ["1","2","3"]} 一样将每个数组作为对象存储在 mainArr 中。

然后你可以循环遍历 mainArr 并打印每个元素的键值,比如。

mainArr = [
 {arr1: ["1","2","3"]},
 {arr2: ["4","5","6"]},
 {arr3: ["7","8","9"]},
];
mainArr.forEach(arr => console.log(Object.keys(arr)))

这将打印 mainArr 中的所有数组。

你的处理方式其实是错误的。最好的方法是不使用 Array.push() 方法推送数组。而是通过使用命名索引数组来执行此操作,因为默认情况下数组的索引为数字,即 0,1,2,3,..

var myArray = [];

myArray["arr1"] = ["1","2","3"];

myArray["arr2"] = ["4","5","6"];

myArray["arr3"] = ["7","8","9"];

console.log(myArr); => 
 [arr1: Array(3), arr2: Array(3), arr3: Array(3)]
   arr1: (3) ["1", "2", "3"]
   arr2: (3) ["4", "5", "6"]
   arr3: (3) ["7", "8", "9"]    

console.log(Object.keys(myArray)); => ["arr1","arr2","arr3"]