Имя переменной объекта Javascript как число

#javascript #node.js

#javascript #node.js

Вопрос:

Ниже i отображается как «i», а не число, через которое я выполняю итерацию. Как мне это исправить? Спасибо!

 for (i = 0; i < 10000; i  ) {
     var postParams = {
        i : 'avalueofsorts'
     };
}
  

Комментарии:

1. вы уверены, что хотите создавать новый объект на каждой итерации?

Ответ №1:

 for (var i = 0, l = 10000; i < l;   i) {
     var postParams = {};
     postParams[i] = 'avalueofsorts'
}
  

Согласно комментарию Cybernate, вы можете создать объект заранее и просто заполнить его, в противном случае вы создаете его каждый раз. Вы, вероятно, хотите этого:

 for (var i = 0, l = 10000, postParams = {}; i < l;   i) {
     postParams[i] = 'avalueofsorts'
}
  

Комментарии:

1. @Meder: Я предполагаю, что postParams следует объявлять вне цикла for, иначе он определяется для каждой итерации.

2. @Frank ~ Обратите внимание, что на самом деле вы используете здесь не объект, а массив. Просто комментарий.

3. Да, переходя от хэшей Ruby к структурам Java к этому, я все еще пытаюсь разобраться в семантике. Спасибо 🙂

Ответ №2:

Чтобы расширить «вам нужен комментарий к массиву»:

 for (var i = 0, postParams = []; i < 10000; i  ) {
     postParams.push('avalueofsorts');
}
  

В javascript массивы — это просто объекты с несколькими дополнительными методами (push, pop и т.д.) И свойством длины.