const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];for (let i = 0; i < nums.length; i++) {console.log(i, nums[i]);// 0 1// 1 2// 2 3// 3 4// 4 5// 5 6// 6 7// 7 8// 8 9// 9 10}
const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];for (let i = nums.length - 1; i >= 0; i--) {console.log(i, nums[i]);// 9 10// 8 9// 7 8// 6 7// 5 6// 4 5// 3 4// 2 3// 1 2// 0 1}
反向循环累加:
const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];for (let i = nums.length - 1, j = 0; i >= 0; i--, j++) {console.log(i, j, nums[i]);// 9 0 10// 8 1 9// 7 2 8// 6 3 7// 5 4 6// 4 5 5// 3 6 4// 2 7 3// 1 8 2// 0 9 1}
const nums = [2, 6, 3, 5, 4, 1];let i = nums.length - 2;while (i >= 0 && nums[i] >= nums[i + 1]) {i--;}// i >= 0// i = -1 没有找到,说明数组是递减序列
const nums = [0, 0, 1, 1, 2, 2, 3, 3, 4];for (let i = 0; i < nums.length; i++) {if (i && nums[i] === nums[i - 1]) continue;console.log(nums[i]);// 0// 1// 2// 3// 4}