список имен переменных внутри массива - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть массив, содержащий набор массивов, я хочу получить доступ к внутренним массивам имен переменных, таких как;

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

Я хочу напечатать arr1, arr2, arr3.

Обратите внимание, что я использую Javascript Ecma 5

Ответы [ 3 ]

1 голос
/ 27 февраля 2020

Вам нужно хранить каждый массив внутри mainArr как объект типа {arr1: ["1","2","3"]}.

И после того, как вы сможете l oop через mainArr и распечатать значение ключа каждого элемента, например.

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

Это напечатает все массивы внутри mainArr.

1 голос
/ 27 февраля 2020

То, что вы спрашиваете, на самом деле является JavaScript объектом.

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

Вы можете получить доступ к "свойствам" этого объекта, например obj['arr1'] et c.

To получить имена свойств, которые вы можете использовать: Object.getOwnPropertyNames(obj). Он вернет массив ключей (['arr1', 'arr2', 'arr3']).

0 голосов
/ 27 февраля 2020

Вы на самом деле обращаетесь с этим неправильно. Лучший способ сделать это - не выдвигать массив с помощью метода Array.pu sh (). вместо этого сделайте это с помощью именованного индексированного массива, поскольку по умолчанию массивы имеют индекс в виде чисел, т. е. 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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...