我有一个包含一组数组的数组,我想访问数组内部的变量名,如;
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']
等
要获取属性名称,可以使用:CCD_ 2。它将返回一个密钥数组(['arr1', 'arr2', 'arr3']
(。
您需要将mainArr中的每个数组存储为类似{arr1: ["1","2","3"]}
的对象。
然后你可以循环通过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"]