如何用JavaScript的for循环测试数组中的连续数字对
获取数组中连续相邻数字对的正确写法
你当前的嵌套循环会遍历数组里所有元素的两两组合(比如1和1、1和3、1和5这类非相邻的组合),不符合你要获取连续相邻数字对的需求。
最优写法:单循环实现
完全不需要嵌套循环,只用一层循环就能高效拿到目标对:
const arr = [1, 3, 5, 9, 11, 12]; for (let i = 0; i < arr.length - 1; i++) { // 每次取当前元素和它的下一个元素 console.log(arr[i], arr[i + 1]); }
这段代码会依次输出:1 3、3 5、5 9、9 11、11 12,正好是你需要的结果。
若非要用嵌套循环(不推荐)
如果坚持要用嵌套循环的形式,可以让内层循环只聚焦当前元素的下一个元素:
const arr = [1, 3, 5, 9, 11, 12]; for (let i = 0; i < arr.length - 1; i++) { // 内层循环仅执行一次,j固定为i+1 for (let j = i + 1; j === i + 1; j++) { console.log(arr[i], arr[j]); } }
但这种写法完全是多此一举,单循环的写法更简洁高效,实际开发中优先选择前者。
内容的提问来源于stack exchange,提问作者Severin Koch
相关产品推荐
相关产品推荐

