【发布时间】:2021-04-10 01:12:20
【问题描述】:
我很难理解为什么在我展开数组或对象时检查器会更改其日志记录:
let newTeamArray = [...teams]; // teams = {randomTeamObject, "Fill"}
let teamList1 = [];
let teamList2 = [];
for(let x = 0; x < newTeamArray.length; x++) {
if(x < (newTeamArray.length/2)) {
console.log("Push to 1")
console.log(newTeamArray[x])
teamList1.push(newTeamArray[x]);
} else {
console.log("Push to 2")
console.log(newTeamArray[x])
teamList2.push(newTeamArray[x])
}
}
console.log(teamList1)
console.log(teamList2)
谁能解释为什么最后两个 console.log() 命令的扩展版本在扩展时会有所不同。在此之后,如果我调用 teamList1[0],则它未定义,如检查员所示。
编辑:名为“teams”的数组始终是偶数长度数组。如果它是奇数长度,则将“填充”添加到数组中。鉴于此数组只有一个对象,因此添加了填充。这发生在上面的代码之前。我的目标是将偶数数组拆分为两个大小相同的数组,称为 teamList1 和 teamList2
【问题讨论】:
标签: javascript arrays