我正在研究需要从API返回的json数据维护数组的项目,json可以有树,我的以下代码可以正常工作,但是我希望在将值赋给数组元素之前删除条件>
// data contains json
let newArray = []
for(let d in data){
for(let x in data[d]){
if(typeof(newArray[d]) === 'undefined'){
newArray[d] = []
}
if(typeof(newArray[d][data[d][x]['id']]) === 'undefined'){
newArray[d][data[d][x]['id']] = []
}
newArray[d][data[d][x]['id']]['price'] = data[d][x]['price']
newArray[d][data[d][x]['id']]['discount'] = data[d][x]['discount']
}
}
在上面的代码中,我必须首先检查数组,如果没有,则将其声明为数组,否则它将返回未定义的错误,是否有任何方法可以摆脱那里的条件并根据要求扩展数组?
答案 0 :(得分:2)
您可以像这样使用新的ES6传播算子
CREATE PROCEDURE MYLIB/TESTPROC
LANGUAGE C
SPECIFIC MYLIB/TESTPROC
NOT DETERMINISTIC
NO SQL
CALLED ON NULL INPUT
EXTERNAL NAME 'MYLIB/TESTPRG'
PARAMETER STYLE GENERAL ;
就像本片段中的此处一样,我直接做newAraay[d] = [...newArray,...Array(data[d][x]['id']),[...Array('price',data[d][x]['price'])]]
而不显式地初始化它们
abc[1][3][4] = "new value"
答案 1 :(得分:1)