javascript - 如何将对象转换为数组并添加键
问题描述
如何转换对象,例如:
{
"28fca3e7-7b5a-95b1-205c-03ff199dc2b4": 6,
"426fb283-6fa9-a58c-e896-f795a5d42c50": 8,
"629fe212-0d74-f5ce-d476-baa527252ffb": 12,
}
进入一个数组,如:
[{
"id": "28fca3e7-7b5a-95b1-205c03ff199dc2b4",
"count": 6
},
{
"id": "629fe212-0d74-f5ce-d476-baa527252ffb",
"count": 8
},
{
"id": "426fb283-6fa9-a58c-e896-f795a5d42c50",
"count": 12,
}]
我想专门将键“id”和“count”添加到数组的每个对象中的元素中。
我已经使用以下代码将对象转换为数组:-
Object.keys(arr).map(key => ({[key]: arr[key]}));
结果是这样的:-
[
{
"28fca3e7-7b5a-95b1-205c-03ff199dc2b4": 6,
},
{
"629fe212-0d74-f5ce-d476-baa527252ffb": 8,
},
{
"426fb283-6fa9-a58c-e896-f795a5d42c50": 12,
},
]
我想将上述键(“id”和“count”)添加到这个数组中。
解决方案
您可以使用“getOwnPropertyName”来获取对象的所有键并将它们分配给列表或数组。让我知道我的回答是否有帮助!
var text = {
"28fca3e7-7b5a-95b1-205c-03ff199dc2b4": 6,
"426fb283-6fa9-a58c-e896-f795a5d42c50": 8,
"629fe212-0d74-f5ce-d476-baa527252ffb": 12};
var keys = Object.getOwnPropertyNames(this.text);
keys.forEach(x => {
let newKeyObject = new keyObject();
newKeyObject.key = x;
newKeyObject.count = this.text[x];
this.keyObjectList.push(newKeyObject);
});
console.log(JSON.stringify(this.keyObjectList));
推荐阅读
- enums - 在性能层面上,特征是否比枚举更昂贵?
- docker - 覆盖 docker-compose 的命令,然后运行原始命令
- python - 您无权访问此资源 Python webscraping
- c - 为什么在使用变量作为指向字符数组的指针调用函数时出现分段错误?
- git - 无法从 Azure DevOps 或 VS-2017 克隆
- typescript - 映射数组以实现特定的对象类型
- javascript - Node.js 不从发布请求返回值
- sql - 循环遍历 SQL Server 中唯一 ID 的查询语句
- audio - 有没有解决 Ubuntu-18.04 声音问题的方法?
- python - 为什么这只是在 pyaudio 中播放四分之一的正弦波?