我现在正在修改嵌套列表并添加到数组中,当我修改嵌套列表时,它的行为非常奇怪,我错过了一些非常小的东西,但不知道是什么。
class Square {
constructor() {
this.value = null;
this.next = null;
}
}
let square = new Square();
square.value = [0, 0];
let arrayOfValues = [[1,2], [2, 3], [4, 5]];
let resultArray = [];
arrayOfValues.forEach(v => {
let copy = square;
while (copy.next !== null) {
copy = copy.next;
}
let nextNode = new Square()
nextNode.value = v;
copy.next = nextNode;
resultArray.push(square);
})
console.log(resultArray) //[{value: [0, 0], next: {value: [1, 2], next: {value: [2, 3], next: {value: [4, 5], next: null}}}},....]
// want to return [{value: [0, 0], next: {value: [1, 2], next: null}}, ....]
使用这个更正后的版本:
class Square {
constructor() {
this.value = null;
this.next = null;
}
}
let arrayOfValues = [[1,2], [2, 3], [4, 5]];
let resultArray = [];
arrayOfValues.forEach(v => {
let newSquare = new Square();
newSquare.value = [0, 0];
let nextNode = new Square();
nextNode.value = v;
newSquare.next = nextNode;
resultArray.push(JSON.parse(JSON.stringify(newSquare)));
});
console.log(resultArray);