gpt4 book ai didi

javascript - 如何在不声明的情况下使用新数组扩展数组

转载 作者:行者123 更新时间:2023-11-29 18:40:23 26 4
gpt4 key购买 nike

我正在做一个项目,我需要从 API 返回的 json 数据维护一个数组,json 可以有树,我有以下代码工作正常但我想在为数组元素赋值之前删除 if 条件

// 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']
}
}

在上面的代码中,我必须先检查数组,如果不是,则将其声明为数组,否则返回未定义的错误,有没有办法摆脱这些条件并根据要求扩展数组?

最佳答案

你可以像这样使用新的 ES6 传播运算符吗

newAraay[d] = [...newArray,...Array(data[d][x]['id']),[...Array('price',data[d][x]['price'])]]

就像在这个片段中一样,我直接执行 abc[1][3][4] = "new value" 而没有显式初始化它们

let abc = [];
abc[1]= [...abc,...Array(3),[...Array(4),'new inserted value']]
console.log(abc);

关于javascript - 如何在不声明的情况下使用新数组扩展数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57622751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com