我知道这是完全错误的,但我被困住了。
我有一个对象数组。
由此我想创建 3 个对象。
创建的第一个对象我需要一个包含原始对象中所有“uppVal”值的数组。
创建的第二个对象需要“midVal”值,第三个对象需要“lowval”值
我知道这是错误的
outputData.push({
dataNum: []
for (var n = 0; n < data.length; n++) {
dataNum.push(data[n][key])
}
})
但我试图在创建对象时获取值
var outputData = [];
data = [{
"uppVal": 68,
"midVal": 34,
"lowVal": 4,
},
{
"uppVal": 68,
"midVal": 34,
"lowVal": 4,
},
{
"uppVal": 68,
"midVal": 34,
"lowVal": 4,
},
{
"uppVal": 68,
"midVal": 34,
"lowVal": 4,
},
{
"uppVal": 68,
"midVal": 34,
"lowVal": 4,
},
{
"uppVal": 68,
"midVal": 34,
"lowVal": 4,
}
]
titlesArr = ['uppVal', 'midVal', 'lowVal']
for (var i = 0; i < 3; i++) {
var counter = 0
var key = titlesArr[counter]
outputData.push({
dataNum: []
for (var n = 0; n < data.length; n++) {
dataNum.push(data[n][key])
}
})
counter++
}
console.log(outputData);
最佳答案
所以你基本上想将 data[index][key]
切换到 outputData[key][index]
:
data = [ { "uppVal": 68, "midVal": 34, "lowVal": 4 },
{ "uppVal": 68, "midVal": 34, "lowVal": 4 },
{ "uppVal": 68, "midVal": 34, "lowVal": 4 },
{ "uppVal": 68, "midVal": 34, "lowVal": 4 },
{ "uppVal": 68, "midVal": 34, "lowVal": 4 },
{ "uppVal": 68, "midVal": 34, "lowVal": 4 } ]
outputData = { uppVal: [], midVal: [], lowVal: [] }
for (var i = 0; i < data.length; i++)
{
outputData.uppVal[i] = data[i].uppVal
outputData.midVal[i] = data[i].midVal
outputData.lowVal[i] = data[i].lowVal
}
console.log(outputData)
关于javascript - 在对象创建中运行循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46352137/