Неожиданная квадратная скобка токена в Nodejs

#javascript #node.js

#javascript #node.js

Вопрос:

Вот простой пример:

 for (i = 1; i < totalRows; i  ) {
    if(rows[i][10] == null)  {
    spreadsheet.add({ [i]: { 10: "Added" } });
    }
}
  

почему я получаю сообщение об ошибке «Неожиданный токен [» здесь:

 spreadsheet.add({ [i] : { 10:
                  ^
  

Я пытаюсь запустить приложение в nodejs версии v0.10.35 ,
Я не могу обновить его, поскольку это бесплатный сервер, предоставляемый OpenShift.
Он отлично работает на моем localhost компьютере с nodejs v4.4.7

Пожалуйста, посоветуйте обходной путь для этого кода, чтобы его можно было выполнить.

В основном, что делает этот код, он просматривает каждую строку, если column 10 is empty , и если она пуста, он добавляет добавленный

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

1. это должно быть i: {}

2. почему вы хотите использовать квадратную скобку

3. Это вычисляемое свойство и поддерживается в версии 4, но не в версии 0.10. См. node.green/#object-literal-extensions

Ответ №1:

Вы неверно определяете свойство объекта.

Это код, который будет работать:

 for (i = 1; i < totalRows; i  ) {
    if(rows[i][10] == null)  {
      var obj = {};
      obj[i] = { 10: "Added" };
      spreadsheet.add(obj);
    }
}
  

Проверьте документацию MDN относительно работы со свойствами: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects