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

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

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

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

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

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

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

12、map

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

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

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

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

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

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

13、filter

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

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

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

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

14、reduce

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

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

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

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

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

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

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

15、sort

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

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

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

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

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

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

16、reverse

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

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

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

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

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

17、includes

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

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

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

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

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

2.使用fromIndex参数指定搜索的起始位置:6mb28资讯网——每日最新资讯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. 检查数组中是否包含字符串:6mb28资讯网——每日最新资讯28at.com

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

18、some

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

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

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

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

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

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

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

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

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

4、检查数组中是否存在满足复杂条件的元素:6mb28资讯网——每日最新资讯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或false6mb28资讯网——每日最新资讯28at.com

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

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

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

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

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

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

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

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

4.检查数组中的所有对象是否满足特定条件:6mb28资讯网——每日最新资讯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方法, 你学会了吗?6mb28资讯网——每日最新资讯28at.com

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

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

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

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

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

标签:
  • 热门焦点
  • K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    Redmi的后性能时代战略发布会今天下午如期举办,在本次发布会上,Redmi公布了多项关于和联发科的深度合作,以及新机K60 Ultra在软件和硬件方面的特性,例如:“K60 至尊版,双芯旗舰
  • 影音体验是真的强 简单聊聊iQOO Pad

    大公司的好处就是产品线丰富,非常细分化的东西也能给你做出来,例如早先我们看到了新的vivo Pad2,之后我们又在iQOO Neo8 Pro的发布会上看到了iQOO的首款平板产品iQOO Pad。虽
  • 石头自清洁扫拖机器人G10S评测:多年黑科技集大成之作 懒人终极福音

    科技圈经常能看到一个词叫“缝合怪”,用来形容那些把好多功能或者外观结合在一起的产品,通常这样的词是贬义词,但如果真的是产品缝合的好、缝合的实用的话,那它就成了中性词,今
  • 7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月登场的新机有努比亚Z50S Pro和红魔8S Pro,除了三星之外目前唯二的两款搭载超频版骁龙8Gen2处理器的产品,而且努比亚和红魔也一贯有着不错的性价比,所以在本次的性价比榜单
  • 6月安卓手机好评榜:魅族20 Pro蝉联冠军

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年6月1日至6月30日,仅限国内市场。第一名:魅族20 Pro好评率:95%5月份的时候魅族20 Pro就是
  • 如何使用JavaScript创建一只图像放大镜?

    译者 | 布加迪审校 | 重楼如果您曾经浏览过购物网站,可能遇到过图像放大功能。它可以让您放大图像的特定区域,以便浏览。结合这个小小的重要功能可以大大改善您网站的用户体验
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 外交部:美方应停止在网络安全问题上不负责任地指责他国

      中国外交部今天(16日)举行例行记者会。会上,有记者问,美国情报官员称,他们正在阻拦来自中国以及其他国家的黑客获取相关科研成果。 中方对此有何评论?对此
Top