我有一个for of
,里面有一个for in
循环,它从Neo4J数据库中获得结果。使用Object.assign
,我获取结果对象并将其中的属性分配给新对象。我的理解是这是不变的。
然后我想将新的结果对象添加到数组中以返回到达结果。
我可以在循环外声明一个空数组,并使用Array.concat
为每次迭代创建新数组。另一种选择可能是使用Array.push。这些都不是永恒的,因为我要么推送数组,要么覆盖变量。
有没有办法结束所有对象的结果数组,这是不可变的?
let results = []
for (const row of argsArray) {
for (const key in row) {
const neo4jPropInUse = await neo4j.session(null, cypher.ngp(key, row[key]))
if (neo4jPropInUse.length !== 0) {
console.log('IN USE DETECTED')
const thingResult = Object.assign({}, {
[thingSerialNumber]: neo4jPropInUse[0].get(`RESULT`).properties[thingSerialNumber],
key: key
})
results = results.concat([thingResult])
}
}
}