у меня есть этот объект
let listItem = {
name: "Lydia",
accountId: "HGVe",
fleetType: "Haulage"
};
Я хочу получить массив, который будет точно таким:
[listItem.name, listItem.accountId, listItem.fleetType]
Как видите, значения в массиве не обязательно должны быть строками или значениями.
Таким образом, каждый элемент массива будет VariableName.key (а не строкой).
!!!!Чтобы быть на 100% ясным, эти 2 результата НЕ то, что мне нужно:
["listItem.name", "listItem.accountId", "listItem.fleetType"] // results are strings: WRONG
["Lydia", "HGVe", "Haulage"] // results are values: WRONG
Как вы можете видеть выше, правильный массив имеет в каждом элементе ссылку на точный object.key.
Решение проблемы
На основе вашего редактирования вы хотите сохранить ссылки listItemна свойства объекта.
let listItem = {
name: "Lydia",
accountId: "HGVe",
fleetType: "Haulage"
};
Но свойства этого объекта являются не объектами, а примитивными значениями. Примитивные значения не имеют ссылки. Смотрите этот ответ для получения дополнительной информации.
Вы можете создать строковый объект с помощью конструктора String. И используйте Object.values(), чтобы получить эти значения.
let listItem = {
name: new String("Lydia"),
accountId: new String("HGVe"),
fleetType: new String("Haulage")
};
let refs = Object.values(listItem);
console.log(refs);
Комментариев нет:
Отправить комментарий