提问人:Severin Koch 提问时间:11/1/2023 最后编辑:gogSeverin Koch 更新时间:11/1/2023 访问量:46
如何使用 for 循环测试一个数组中的数字对
How to test pairs of numbers in one Array with a for loop
问:
如何在一个数组中测试一对数字?
喜欢
const arr = [1, 3, 5, 9, 11, 12]
我想测试 1 和 3、3 和 5、5 和 9、9 和 11、11 和 12。
for (let i= 0; arr.length > i; i++){
for (let j=0; arr.length > j; j++){
console.log(arr[i], arr[j])
}}
doubleple for 循环在 javascript 中需要是什么样子的。
答:
1赞
David Jentjens
11/1/2023
#1
如@gog所述,您可以使用单个循环在数组中实现配对测试。只需从 0 迭代到 length - 2 并将 arr[i] 与 arr[i+1] 进行比较。
为此,请使用循环条件 i < arr.length - 1。此方法可确保在最后一个元素之前停止,从而允许在相邻元素之间进行有效的对比较。
0赞
Vivick
11/1/2023
#2
简单地使用“滑动窗口”技术:
for(let i = 0, max = arr.length - 1; i < max; i += 1) {
const first = arr[i];
const second = arr[i + 1];
// do something with first and second
}
您甚至可以概括它:
function slidingWindow(size, callback) {
const lengthOffset = size - 1;
for(let i = 0, max = arr.length - lengthOffset; i < max; i += 1){
const slide = arr.slice(i, i + size);
callback(slide, i, arr);
}
}
0赞
Thomas
11/1/2023
#3
您不需要内部循环:
const arr = [1, 3, 5, 9, 11, 12]
for (let i = 1; i < arr.length; ++i) {
console.log(`${arr[i - 1]} and ${arr[i]}`);
}
上一个:如何解释代码中的空格?
评论
arr[i]
arr[i+1]
i < arr.length-1
i+
for (let i = 0; i < arr.length - 1; i++) { console.log(arr[i], arr[i + 1]); }