GOOGLE ADS

четверг, 14 апреля 2022 г.

Как получить массив object.key(не значения, не строки, не только ключи) из объекта?

у меня есть этот объект

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);

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

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...