JavaScript循环遍历常用的7种方法以及常用的数组 API

简介: JavaScript循环遍历常用的7种方法以及常用的数组 API

一、JavaScript循环遍历常用的7种方法

1,for循环

for循环是最常用的循环遍历方法,可以遍历数组、对象等数据类型

for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}
for (let key in obj) {
  console.log(key + ': ' + obj[key]);
}

通过初始化变量,判断循环条件,更新变量值来达到循环遍历的目的;

for (let i = 0; i < 10; i++) {
  console.log(i);
}

2,forEach方法

forEach方法是数组的方法,可以遍历数组每个元素

arr.forEach(function(item) {
  console.log(item);
});

可以对数组的每个元素执行指定的操作,不需要额外的计数器变量

例如,遍历一个数组:

const arr = [1, 2, 3, 4, 5];
arr.forEach(item => {
  console.log(item);
});

3,map方法

map方法也是数组的方法,可以遍历数组每个元素并返回一个新的数组。

let newArr = arr.map(function(item) {
  return item * 2;
});
console.log(newArr);

4,while循环

while循环可以在满足条件时重复执行代码块。

let i = 0;
while (i < arr.length) {
  console.log(arr[i]);
  i++;
}

5,do…while循环

do…while循环与while循环类似,但是会先执行一次代码块,然后再检查条件是否满足。

let i = 0;
do {
  console.log(arr[i]);
  i++;
} while (i < arr.length);

6,for…in循环

for…in循环可以遍历对象的属性。

for (let key in obj) {
  console.log(key + ': ' + obj[key]);
}

需要注意的是,for…in循环不保证属性的遍历顺序,而且会遍历到原型链上的属性,可能会导致不可预期的结果。因此,在遍历对象时,建议使用其他方法或者结合使用Object.keys()、Object.values()或Object.entries()等方法。

7,for…of循环

for…of循环是ES6新增的循环语法,可以遍历可迭代对象(如数组、字符串等)的元素。

for (let item of arr) {
  console.log(item);
}
for (let char of str) {
  console.log(char);
}

以上是JavaScript循环遍历常用的几种方法,不同的循环方法适用于不同的场景,需要根据具体情况选择使用。

二、JavaScript 数组 API

以下是一些常用的 JavaScript 数组 API 的代码示例:

1、push()

push(): 在数组末尾添加一个或多个元素,返回新的数组长度

const arr = [1, 2, 3];
const newLength = arr.push(4, 5);
console.log(arr); // [1, 2, 3, 4, 5]
console.log(newLength); // 5

2、pop()

pop(): 删除数组末尾的元素,返回被删除的元素

const arr = [1, 2, 3];
const lastElement = arr.pop();
console.log(arr); // [1, 2]
console.log(lastElement); // 3

3、unshift()

unshift(): 在数组开头添加一个或多个元素,返回新的数组长度

const arr = [1, 2, 3];
const newLength = arr.unshift(0, -1);
console.log(arr); // [-1, 0, 1, 2, 3]
console.log(newLength); // 5

4、shift()

shift(): 删除数组开头的元素,返回被删除的元素

const arr = [1, 2, 3];
const firstElement = arr.shift();
console.log(arr); // [2, 3]
console.log(firstElement); // 1

5、slice()

slice(): 返回一个新的数组,包含从开始到结束(不包括结束)的所有元素

const arr = [1, 2, 3, 4, 5];
const newArr = arr.slice(1, 4);
console.log(newArr); // [2, 3, 4]

6、splice()

splice(): 在数组中添加或删除元素,返回被删除的元素

const arr = [1, 2, 3, 4, 5];
const removedElements = arr.splice(1, 2, 6, 7);
console.log(arr); // [1, 6, 7, 4, 5]
console.log(removedElements); // [2, 3]

7、map()

map(): 创建一个新数组,其中的元素是调用提供的函数后返回的结果

const arr = [1, 2, 3];
const newArr = arr.map((element) => element * 2);
console.log(newArr); // [2, 4, 6]

8、filter()

filter(): 创建一个新数组,其中的元素是调用提供的函数后返回值为 true 的元素

const arr = [1, 2, 3, 4, 5];
const newArr = arr.filter((element) => element % 2 === 0);
console.log(newArr); // [2, 4]

9、reduce()

reduce(): 对数组中的所有元素进行累加或合并,返回一个累加或合并后的结果

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((acc, element) => acc + element, 0);
console.log(sum); // 15

以上是一些常用的 JavaScript 数组 API 的代码示例,还有许多其他有用的数组 API 可以在文档中查找。

目录
相关文章
|
9天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
3月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
3月前
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
304 62
|
1月前
|
JavaScript 前端开发 开发者
JavaScript字符串的常用方法
在JavaScript中,字符串处理是一个非常常见的任务。JavaScript提供了丰富的字符串操作方法,使开发者能够高效地处理和操作字符串。本文将详细介绍JavaScript字符串的常用方法,并提供示例代码以便更好地理解和应用这些方法。
56 13
|
3月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
3月前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
2月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
398 5
|
3月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
87 5
|
3月前
|
JavaScript 前端开发
js中的bind,call,apply方法的区别以及用法
JavaScript中,`bind`、`call`和`apply`均可改变函数的`this`指向并传递参数。其中,`bind`返回一个新函数,不立即执行;`call`和`apply`则立即执行,且`apply`的参数以数组形式传递。三者在改变`this`指向及传参上功能相似,但在执行时机和参数传递方式上有所区别。
45 1
|
3月前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
80 7

热门文章

最新文章

  • 1
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    23
  • 2
    Node.js 中实现多任务下载的并发控制策略
    32
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    25
  • 4
    【JavaScript】深入理解 let、var 和 const
    48
  • 5
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    44
  • 6
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    53
  • 7
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    55
  • 8
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    71
  • 9
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    55
  • 10
    JavaWeb JavaScript ③ JS的流程控制和函数
    62