【发布时间】:2021-03-11 23:07:31
【问题描述】:
我有一个对象
{
"input":{
"id": "7879",
"inputType": "9876",
"streamName": "870"
},
"transformation":{
"id": "7",
"dependencies": [
"8i"
],
"dropColumns": "hkj",
"processor": "hgf"
},
"output": {
"id": "v",
"saveMode": "uyt",
"dependentIds": [
"h"
],
"outPartition":[
"hg"
]
}
}
基本上每个离开键的值我都必须把它放在一个数组中。所以输入、转换、输出值(都是对象)应该放在数组里面。
预期输出:
{
"input": [
{
"id": "7879",
"inputType": "9876",
"streamName": "870"
}
],
"transformation":[
{
"id": "7",
"dependencies": [
"8i"
],
"dropColumns": "hkj",
"processor": "hgf"
}
],
"output":[
{
"id": "v",
"saveMode": "uyt",
"dependentIds": [
"h"
],
"outPartition":[
"hg"
]
}
]
}
我尝试使用 for in 循环进行迭代,但无法达到预期的输出我应该如何将值(对象)放在数组中
var arr = [];
for(key in obj){
arr.push(Object.assign(obj[key],{name: key}))
}
【问题讨论】:
-
为什么是
arr?为什么Object.assign()?为什么{name: key}? -
为什么要改变这个结构?它完全可以用于任何目的。
标签: javascript arrays object for-in-loop