Tôi có một danh sách được liên kết trong JavaScript mà tôi cần để lặp lại với vòng lặp for of
. Tôi đã gần như hoàn thành nó nhưng dường như không có cách nào để có được giá trị đầu tiên được đưa vào kết quả. Đây là một phiên bản đơn giản:Tạo danh sách liên kết có thể lặp lại trong ES6
var obj = {value: 1, next: {value: 2, next: {value: 3, next: {value: 4, next: {value: 5, next: {value: 6, next: {value:7, next: null}}}}}}};
obj[Symbol.iterator] = function() {
var current = this;
return {
next() {
if (current.next !== null) {
current = current.next;
return {value: current.value, done: false};
}
return {done: true}
}
}
}
for (const x of obj) {
console.log(x)
}
// this is how you get the values printed with no loop
// console.log(obj.value + '->' + obj.next.value + '->' + obj.next.next.value)