Ссылка на поле объекта JSON с использованием .map (), где имя поля содержит пробелы - PullRequest
0 голосов
/ 31 мая 2018

Я использую .map () для копирования полей объекта из одного списка JSON в другой, моя проблема в том, что в начальном списке, из которого мне нужно переместить значения, есть пробелы в именах полей.

Для полей без пробелов работает следующее:

$scope.dataList = results.data.map(el => ({
     IdApplication: el.ApplicationReference,
     AccNo: el.AccountNumber
}))

Однако стартовый JSON берется непосредственно из CSV, который выбирает пользователь, и, к сожалению, клиент не изменит своего имени.их столбцы.Поэтому мне нужно сопоставить поле JSON с именем «Ссылка на приложение».

Я попытался заключить имя поля в «», но это дает ожидаемую ошибку идентификатора при первом открытии ».

Обозначение в скобках также не работает:

$scope.dataList = results.data.map(el => ({
    IdApplication: el.['Application Reference'],
    AccNo: el.AccountNumber
}))

Это также дает ошибку идентификатора, ожидаемую при открытии [.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Вы сказали, что обозначение скобками не работает, но в вашем примере не показано использование обозначения скобками.

Правильное использование будет следующим:

$scope.dataList = results.data.map(el => ({
    IdApplication: el['Application Reference'],
    AccNo: el['Account Number']
}))

PS Это считается хорошей практикой дляиспользуйте camelCase для свойств JSON https://google.github.io/styleguide/jsoncstyleguide.xml#Property_Name_Format

0 голосов
/ 31 мая 2018

Вы можете использовать этот код

$scope.dataList = results.data.map(el => {
    IdApplication: el['Application Reference'],
    AccNo: el['Account Number']
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...