JavaScript-запрос объекта - преобразовать ключ как переменную в строку - PullRequest
0 голосов
/ 26 февраля 2019

Я начинающий программист.

После вызова API принимает переменную объекта (полученную из переменной) в виде строки следующим образом

"option": 
    {           
  "235": “30”
},
 {           
    "238": “32”
}

Мой код угловой 6

  option = [];
  ---

    this.option.push({
      [option.product_option_id]: $event
    });

, которые в результате

 option = [ {
   235: 30
 }]

, но нуждаются в этой переменной в двойных кавычках "235".

, пожалуйста, помогите

1 Ответ

0 голосов
/ 26 февраля 2019

но нужна эта переменная в двойных кавычках "235"

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

Не волнуйтесь, это так.Когда вы используете число в качестве имени свойства, оно автоматически преобразуется в строку.Имена свойств могут быть только строками или символами, поэтому вещи, которые не являются строками или символами, преобразуются в строку:

class Example {
    constructor() {
        this.option = [];
        const option = {
          product_option_id: 42
        };
        const $event = {};

        this.option.push({
          [option.product_option_id]: $event
        });

        const pushed = this.option[0];
        for (const key of Object.keys(pushed)) {
          console.log(`${key}: ${typeof key}`);
        }
    }
}
new Example();

Тем не менее, выражение в [] вычисляемого имени свойства является просто выражением.Так что если вы хотите быть явным, вы можете использовать String там:

option.push({
  [String(option.product_option_id)]: $event
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...