当前位置:首页 > JavaScript

js循环实现

2026-03-14 07:32:36JavaScript

循环基础语法

JavaScript 提供了多种循环结构来处理重复任务,以下是常见的循环类型:

for 循环:

for (let i = 0; i < 5; i++) {
  console.log(i); // 输出0到4
}

while 循环:

let i = 0;
while (i < 5) {
  console.log(i); // 输出0到4
  i++;
}

do...while 循环:

let i = 0;
do {
  console.log(i); // 至少执行一次
  i++;
} while (i < 5);

数组遍历方法

forEach 方法:

const arr = [1, 2, 3];
arr.forEach(item => {
  console.log(item); // 依次输出1,2,3
});

for...of 循环:

const arr = [1, 2, 3];
for (const item of arr) {
  console.log(item); // 依次输出1,2,3
}

对象遍历方法

for...in 循环:

js循环实现

const obj = {a: 1, b: 2};
for (const key in obj) {
  console.log(key, obj[key]); // 输出a 1和b 2
}

Object.keys() 配合 forEach

const obj = {a: 1, b: 2};
Object.keys(obj).forEach(key => {
  console.log(key, obj[key]); // 输出a 1和b 2
});

循环控制语句

break 语句:

for (let i = 0; i < 5; i++) {
  if (i === 3) break;
  console.log(i); // 输出0,1,2
}

continue 语句:

for (let i = 0; i < 5; i++) {
  if (i === 3) continue;
  console.log(i); // 输出0,1,2,4
}

高阶函数式循环

map 方法:

js循环实现

const arr = [1, 2, 3];
const doubled = arr.map(x => x * 2); // 返回[2,4,6]

filter 方法:

const arr = [1, 2, 3, 4];
const evens = arr.filter(x => x % 2 === 0); // 返回[2,4]

性能优化技巧

缓存数组长度:

const arr = [1, 2, 3];
for (let i = 0, len = arr.length; i < len; i++) {
  console.log(arr[i]);
}

减少DOM操作:

const elements = document.querySelectorAll('.item');
const results = [];
for (let i = 0; i < elements.length; i++) {
  results.push(elements[i].textContent);
}

异步循环处理

for...await...of

async function process(array) {
  for await (const item of array) {
    console.log(item);
  }
}

Promise.all 配合 map:

const urls = ['url1', 'url2'];
const results = await Promise.all(urls.map(async url => {
  const response = await fetch(url);
  return response.json();
}));

标签: js
分享给朋友:

相关文章

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…

js 实现递归

js 实现递归

递归的基本概念 递归是指函数直接或间接调用自身的过程。在JavaScript中,递归通常用于解决可以分解为相似子问题的问题,如阶乘、斐波那契数列、树形结构遍历等。 递归的实现要点 基线条件(Base…

js实现放大缩小

js实现放大缩小

使用 CSS transform 实现缩放 通过修改元素的 transform 属性实现平滑缩放效果。CSS 的 scale() 函数可以轻松调整元素大小。 const element = docu…