JS遍历链表结构

336 阅读1分钟

有如下数据结构
a -> b -> c -> d
找到nextnull的对象后
终止循环

var d = {
	value: 'd',
	next: null,
};
var c = {
	value: 'c',
	next: d,
};
var b = {
	value: 'b',
	next: c,
};
var a = {
	value: 'a',
	next: b,
};

遍历方式一:while循环

let currentNode = a,
	nextNode;
while (true) {
	console.log('currentNode = ', currentNode);
    if ((nextNode = currentNode.next) == null) {
        console.log("循环结束");
		break;
	}
	currentNode = nextNode;
}

1672740483384.png

遍历方式二:for循环

let currentNode = a,
	nextNode;
for (let i = 0; ; i++) {
	console.log('currentNode = ', currentNode);
	if ((nextNode = currentNode.next) == null) {
		console.log('循环结束');
		break;
	}
	currentNode = nextNode;
}

1672740483384.png