当前位置:首页 > 科技  > 软件

19个JavaScript数组常用方法总结! 赶快收藏吧!

来源: 责编: 时间:2023-09-18 21:42:28 459观看
导读数组,是JavaScript中的一种数据格式,在JavaScript中经常使用。作为一名前端工程师,掌握Array的用法非常重要!那么,常用的数组方法你知道几个呢?如果不知道也没有关系,今天这篇文章将汇总详细介绍Array中常用的一些方法,一起来

数组,是JavaScript中的一种数据格式,在JavaScript中经常使用。作为一名前端工程师,掌握Array的用法非常重要!RfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

forEach() 方法通常用于对数组中的每个元素执行操作,而不返回新数组。它提供了一种迭代数组并对每个元素执行相同操作的便捷方法。RfY28资讯网——每日最新资讯28at.com

注意:forEach()方法不能中断或跳过迭代,它会遍历数组中的每个元素,即使回调函数中使用了return语句,也不会中止遍历。RfY28资讯网——每日最新资讯28at.com

12、map

功能:对数组中的每个元素执行指定的函数,并返回由执行结果组成的新数组。RfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

用法示例:RfY28资讯网——每日最新资讯28at.com

图片RfY28资讯网——每日最新资讯28at.com

map()方法可以根据自定义的处理逻辑对数组中的每个元素进行变换。您可以使用它生成一个新数组,其元素是处理原始数组的结果。RfY28资讯网——每日最新资讯28at.com

常见的使用场景包括对数组中每个元素的计算、转换、映射等操作。RfY28资讯网——每日最新资讯28at.com

13、filter

作用:根据指定条件过滤掉数组中符合条件的元素,返回一个新数组RfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

用法示例:RfY28资讯网——每日最新资讯28at.com

使用filter方法,可以从数组中过滤掉满足特定条件的元素。RfY28资讯网——每日最新资讯28at.com

14、reduce

功能:对数组中的所有元素执行指定的归约函数,并返回单值结果RfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

参数说明:callback是回调函数,可以接受四个参数:RfY28资讯网——每日最新资讯28at.com

  • accumulator:累加器,用于保存计算结果。
  • currentValue:当前遍历的元素。
  • index:当前遍历元素的索引。
  • array:正在遍历的数组。

用法示例:RfY28资讯网——每日最新资讯28at.com

调用reduce()方法,传入累加函数(accumulator, currentValue) => Accumulator + currentValue,累加数组中所有元素。RfY28资讯网——每日最新资讯28at.com

累加器的初始值未指定,因此,reduce() 方法从数组的第一个元素开始,将当前元素添加到累加器,并更新累加器的值。最后返回的累加结果是数组所有元素的累加和。RfY28资讯网——每日最新资讯28at.com

15、sort

功能:对数组元素进行排序RfY28资讯网——每日最新资讯28at.com

用法示例:RfY28资讯网——每日最新资讯28at.com

// sort()const fruits = ['banana','apple','kiwi','pear'];fruits.sort();console.log(fruits);// Output:['apple','banana','kiwi','pear']

1、不传递参数调用sort,会直接修改原数组,返回排序后的数组;RfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

2、传入比较函数,该函数接受两个参数,返回一个代表比较结果的数字;RfY28资讯网——每日最新资讯28at.com

16、reverse

功能:反转数组中元素的顺序RfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

通过使用reverse()方法,可以轻松反转数组中元素的顺序,适用于需要反转数组内容的情况。RfY28资讯网——每日最新资讯28at.com

图片RfY28资讯网——每日最新资讯28at.com

注意:reverse()方法会直接修改原数组,不会创建新数组。如果需要保留原始数组的副本并执行反向操作,可以先使用 slice() 方法创建一个新数组,然后调用reverse() 方法。RfY28资讯网——每日最新资讯28at.com

17、includes

功能:判断数组是否包含指定元素,返回true或falseRfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

用法示例:RfY28资讯网——每日最新资讯28at.com

1. 检查数组是否包含特定元素:RfY28资讯网——每日最新资讯28at.com

const numbers = [1, 2, 3, 4, 5];console.log(numbers.includes(3));  // trueconsole.log(numbers.includes(6));  // false

2.使用fromIndex参数指定搜索的起始位置:RfY28资讯网——每日最新资讯28at.com

const numbers = [1, 2, 3, 4, 5];console.log(numbers.includes(3, 2));  // true, search starts from index 2console.log(numbers.includes(3, 4));  // false, search starts from index 4

3. 检查数组中是否包含字符串:RfY28资讯网——每日最新资讯28at.com

const fruits = ['apple', 'banana', 'kiwi', 'pear'];console.log(fruits.includes('banana'));  // trueconsole.log(fruits.includes('grape'));   // false

18、some

功能:检查数组中是否至少有一个元素满足指定条件,返回true或falseRfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

用法示例:RfY28资讯网——每日最新资讯28at.com

1、检查数组中是否有大于10的元素:RfY28资讯网——每日最新资讯28at.com

const numbers = [5, 8, 12, 3, 9];const hasGreaterThan10 = numbers.some(element => element > 10);console.log(hasGreaterThan10);  // true

2. 检查数组中是否有偶数:RfY28资讯网——每日最新资讯28at.com

const numbers = [3, 7, 5, 12, 9];const hasEvenNumber = numbers.some(element => element % 2 === 0);console.log(hasEvenNumber);  // true

3. 检查数组中是否存在包含特定字符的字符串:RfY28资讯网——每日最新资讯28at.com

const fruits = ['apple', 'banana', 'kiwi', 'pear'];const hasStrWithChar = fruits.some(element => element.includes('a'));console.log(hasStrWithChar);  // true

4、检查数组中是否存在满足复杂条件的元素:RfY28资讯网——每日最新资讯28at.com

const students = [  { name: 'Alice', score: 85 },  { name: 'Bob', score: 92 },  { name: 'Charlie', score: 76 },];const hasPassingScore = students.some(student => student.score >= 80);console.log(hasPassingScore);  // true

19、every

功能:检查数组中所有元素是否满足指定条件,返回true或falseRfY28资讯网——每日最新资讯28at.com

RfY28资讯网——每日最新资讯28at.com

用法示例:RfY28资讯网——每日最新资讯28at.com

1.检查数组中的所有元素是否都大于 0:RfY28资讯网——每日最新资讯28at.com

const numbers = [5, 8, 12, 3, 9];const allGreaterThan0 = numbers.every(element => element > 0);console.log(allGreaterThan0);  // true

2.检查数组中的所有元素是否都是偶数:RfY28资讯网——每日最新资讯28at.com

const numbers = [2, 4, 6, 8, 10];const allEvenNumbers = numbers.every(element => element % 2 === 0);console.log(allEvenNumbers);  // true

3.检查数组中的所有字符串是否以大写字母开头:RfY28资讯网——每日最新资讯28at.com

const words = ['Apple', 'Banana', 'Cherry', 'Durian'];const allUpperCaseStart = words.every(element => /^[A-Z]/.test(element));console.log(allUpperCaseStart);  // true

4.检查数组中的所有对象是否满足特定条件:RfY28资讯网——每日最新资讯28at.com

const students = [  { name: 'Alice', score: 85 },  { name: 'Bob', score: 92 },  { name: 'Charlie', score: 76 },];const allPassingScore = students.every(student => student.score >= 80);console.log(allPassingScore);  // false

总结

以上就是我今天与你分享的19个常用的Array方法, 你学会了吗?RfY28资讯网——每日最新资讯28at.com

当然,Array在ES6中还有一些更高级的使用方法,可以更加快速地操作Array。RfY28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-10493-0.html19个JavaScript数组常用方法总结! 赶快收藏吧!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Nginx map 实现时间格式转换

下一篇: 深入探究微服务架构下 API 网关的发展趋势

标签:
  • 热门焦点
  • 一年经验在二线城市面试后端的经验分享

    忠告这篇文章只适合2年内工作经验、甚至没有工作经验的朋友阅读。如果你是2年以上工作经验,请果断划走,对你没啥帮助~主人公这篇文章内容来自 「升职加薪」星球星友 的投稿,坐
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大“烤”之下的除了众生,还有各大企业发布的ESG报告。ESG是“环境保
  • 东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,“7
  • 小米MIX Fold 3下月亮相:今年唯一无短板的全能折叠屏

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都有新的进展,其中荣耀、三星都已陆续发布了最新的折叠屏旗舰,尤其号荣耀Magi
  • 华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    在今日举行的2023年华为云数字文娱AI创新峰会上,华为云全球Marketing与销售服务总裁石冀琳表示,华为云将在后续推出盘古数字人大模型,可帮助用户12小
  • 英特尔Xe HPG游戏显卡:拥有512EU,单风扇版本

    据10 月 30 日外媒 TheVerge 消息报道,英特尔 Xe HPG Arc Alchemist 的正面实被曝光,不仅拥有 512 EU 版显卡,还拥有 128EU 的单风扇版本。另外,这款显卡 PCB
  • 世界人工智能大会国际日开幕式活动在世博展览馆开启

    30日上午,世界人工智能大会国际日开幕式活动在世博展览馆开启,聚集国际城市代表、重量级院士专家、国际创新企业代表,共同打造人工智能交流平台。上海市副市
  • 北京:科技教育体验基地开始登记

      北京“科技馆之城”科技教育体验基地登记和认证工作日前启动。首批北京科技教育体验基地拟于2023年全国科普日期间挂牌,后续还将开展常态化登记。  北京科技教育体验基
Top