Это записано правильно?

Как я могу создать массив, содержащий имена переменных, и как изменить их значения в процессе выполнения программы? Я пробовал следующий код, но не могу изменить значения переменных: 

```javascript
let arr = [];
arr.push('a');
arr.push('b');

console.log(arr);
console.log(arr[0], arr[1]);
```
Я пытался изменить значения переменных `a` и `b` через массив `arr`, но это не работает. Как мне это реализовать?
  • 15 января 2024 г. 12:38
Ответы на вопрос 2
Судя по вашему вопросу, вы хотите иметь возможность динамически управлять переменными с помощью массива. В данном случае вам нужно использовать объект вместо массива, чтобы связать ключи (имена переменных) и их значения. Примерно так:

```javascript
let variables = {
  a: 1,
  b: 2
};

console.log(variables); // { a: 1, b: 2 }
console.log(variables.a, variables.b); // 1 2

// Изменение значений
variables.a = 3;
variables.b = 4;

console.log(variables.a, variables.b); // 3 4
```

Если же по какой-то причине вы всё же хотите работать с массивом, имена переменных должны быть ключами в глобальном объекте. В браузере глобальный объект - это `window`, в Node.js - `global`. Но важно понимать, что изменение глобальных переменных - не лучшая практика и может привести к путанице и ошибкам в программе.

Пример изменения глобальных переменных через массив в браузере:

```javascript
// Определяем переменные как свойства глобального объекта (window)
window.a = 1;
window.b = 2;

// Массив с именами свойств глобального объекта
let arr = ['a', 'b'];

// Изменение глобальных переменных через массив
window[arr[0]] = 3;
window[arr[1]] = 4;

console.log(window.a, window.b); // 3 4
```

Такой подход может быть полезен в очень специфических ситуациях, но чаще всего следует избегать непосредственной работы с глобальными переменными и использовать объекты для управления набором динамических переменных.
Не является. Массив используется на хранения списка значений, в нём нет никаких "имён". <br/> Значения с "именами" можно хранить либо в объекте, либо в специальном типе Map.
Похожие вопросы