JavaScript数组所有方法集合

news2024/12/24 2:37:55

##方法
1、concat
用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组

2、copyWithin
浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度

3、entries
返回一个新的 Array Iterator 对象,该对象包含数组中每个索引的键/值对

4、every
测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值

5、fill
用一个固定值填充一个数组中从起始索引到终止索引内的全部元素

6、filter
创建一个新数组, 其包含通过所提供函数实现的测试的所有元素

7、find
返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

8、findIndex
返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回 -1

9、flat
按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回

10、flatMap
使用映射函数映射每个元素,然后将结果压缩成一个新数组

11、forEach
对数组的每个元素执行一次给定的函数

12、includes)
判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回 false

13、indexOf
返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回 -1

14、join
将一个数组的所有元素连接成一个字符串并返回这个字符串

15、keys
返回一个包含数组中每个索引键的 Array Iterator 对象

16、lastIndexOf
返回指定元素在数组中的最后一个的索引,如果不存在则返回 -1

17、map
返回一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值

18、pop
从数组中删除最后一个元素,并返回该元素的值

19、push
将一个或多个元素添加到数组的末尾,并返回该数组的新长度

20、Reduce
对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值

21、ReduceRight
接受一个函数作为累加器(accumulator)和数组的每个值(从右到左)将其减少为单个值

22、reverse
将数组中元素的位置颠倒,并返回该数组。该方法会改变原数组

23、shift
从数组中删除第一个元素,并返回该元素的值

24、slice
提取源数组的一部分并返回一个新数组

25、some)
测试数组中是不是至少有一个元素通过了被提供的函数测试

26、sort
对数组元素进行原地排序并返回此数组

27、splice
通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容

28、toLocaleString
返回一个字符串表示数组中的元素。数组中的元素将使用各自的 Object.prototype.toLocaleString()方法转成字符串

29、toString
返回一个字符串表示指定的数组及其元素。数组中的元素将使用各自的 [Object.prototype.toString()]方法转成字符串

30、unshift将一个或多个元素添加到数组的头部,并返回该数组的新长度

31、values
返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值

32、at
返回给定索引处的数组项。接受从最后一项开始倒数的负整数。

33、iterator
返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值

var arr = ['a', 'b', 'c', 'd', 'e'];
var eArr = arr[Symbol.iterator]();
// 浏览器必须支持 for...of 循环
for (let letter of eArr) {
  console.log(letter);
}


//另一种迭代方式

var arr = ['a', 'b', 'c', 'd', 'e'];
var eArr = arr[Symbol.iterator]();
console.log(eArr.next().value); // a
console.log(eArr.next().value); // b
console.log(eArr.next().value); // c
console.log(eArr.next().value); // d
console.log(eArr.next().value); // e

34、toSource 非标准方法 请查阅
返回一个字符串,代表该数组的源代码.

var alpha = new Array("a", "b", "c");
alpha.toSource();   //返回["a", "b", "c"]

35、valueOf
返回值为该对象的原始值
valueOf方法一般都会被 JavaScript 自动调用,但你也可以自己调用

// Array:返回数组对象本身
var array = ["ABC", true, 12, -5];
console.log(array.valueOf() === array);   // true

36、Array.from
Array.from() 方法从一个类似数组或可迭代对象中创建一个新的,浅拷贝的数组实例


##属性
1、constructor
所有对象都会从它的原型上继承一个 constructor 属性
返回创建实例对象的 [Object]构造函数的引用。注意,此属性的值是对函数本身的引用,而不是一个包含函数名称的字符串。对原始类型来说,如1true"test",该值只可读。

2、length
length 是Array的实例属性。返回或设置一个数组中的元素个数。该值是一个无符号 32-bit 整数,并且总是大于数组最高项的下标

3、unscopables
Symbol 属性 **@@unscopable** 包含了所有 ES2015 (ES6) 中新定义的、且并未被更早的 ECMAScript 标准收纳的属性名。这些属性被排除在由 [with] 语句绑定的环境中。
arr[Symbol.unscopables]

4、species
Array[@@species] 访问器属性返回 Array 的构造函数。

5、prototype
Array.prototype 属性表示 [Array] 构造函数的原型,并允许您向所有 Array 对象添加新的属性和方法
鲜为人知的事实:Array.prototype 本身也是一个 [Array]。

Array.isArray(Array.prototype);
// true

后言

一图诠释map、filter、every、some、fill、reduce等方法区别
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/772446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新版本的OpenLens,有两个隐藏技能

最新版本的OpenLens v6.4.15,有两个隐藏技能 1、需要添加扩展插件alebcay/openlens-node-pod-menu,查看pod时才会出现进入命令行的按钮 2、测试环境查看pod、node时可能会出现监控数据未显示,点击集群的Setting,在Metrics里选…

网页性能优化,各种指标检测,谷歌统计使用,pagespeed

每日鸡汤:每个你想要学习的瞬间都是未来的你像自己求救 前端性能优化是个很重要的模块,但是如何查看性能优化后的网页的效果也是很重要的,要从技术的层面总结,不能只靠用户的感受。 常用的评估网页应用性能的指标有 LCP, FID, CL…

TortoiseGit 入门指南13:拣选

对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。 这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用 合并(merge)。另一种情况是,你只需要部分代码变动&#xff0…

目标检测算法:FPN思想解读

目标检测算法:FPN思想解读 说明 ​ FPN算法一种方法/思想,在许多的模型架构中都经常采用,也是提高模型精度的重要方法。 免责申明 ​ 有误写/错写/错误观点/错误解读,或者大家有其它见解,都可以在评论区指出&#xff0…

Linux中常用的指令

ls ls [选项] [目录或文件] 功能:对于目录,列出该目录下所有的子目录和文件;对于文件,列出该文件的文件名和其他属性 常用选项: -a:列出目录下的所有文件,包括以.开头的隐藏文件 -l:列出文件的详细信息。…

想要在独立站上赚钱,需要考虑哪些关键点?

我们都知道,没有什么工作是简单的,但是做得好的话,独立站确实是非常赚钱的。现在建立一个网站非常容易,你需要的花费也不高。 刚好后台也收到很多小伙伴问我独立站的盈利模式?怎么做才能赚钱?要在独立站上…

Django中使用反向关系名称(related_name)解决由“多对多”关系引起的字段名字冲突问题引起的迁移命令报错。

当在模型中为关系字段添加了related_name参数后,您可以使用该参数指定的名称来引用反向关系。下面是一个简单的例子来说明如何引用反向关系。 假设您有以下两个模型: from django.db import modelsclass Author(models.Model):name models.CharField(…

Ceph 服务的运用

目录 一、资源池 pool 管理 1.创建一个 Pool 资源池 2.查看集群 Pool 信息 3.查看资源池副本的数量 4.查看 PG 和 PGP 数量 5.修改 pg_num 和 pgp_num 的数量为 128 6.修改 Pool 副本数量为 2 7.修改默认副本数为 2 8.删除 Pool 资源池 8.1修改配置文件 8.2推送 ceph…

10.1寸三防加固平板电脑Windows工业平板

当前,移动计算设备的需求日益增长,特别是在现场工作和移动任务中的应用。为了满足这一需求,三防加固平板电脑SP-Q19采用了整机一体成型的设计,无合成拼接,使得长侧边的直线条与短侧边的圆弧形巧妙融合。同时&#xff0…

【wxWidgets】使用布局控件进行窗口布局

使用布局控件进行窗口布局 窗口布局基础 为了在各种环境中都能使窗口拥有合适的位置和大小,可能需要在OnSize事件中计算每一个窗口的大小并设置新位置,当然使用窗口布局控件可以更方便地实现 如果选择使用布局控件,可以通过自己编写或者使用…

创新创业项目申报管理系统vue+nodejs+mysql

开发语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 本站是一个B/S模式系统,采用nodejs框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界…

详解UDP协议

在讲本篇文章之前,给读者介绍两个指令 1.netstat:用来查看网络状态的重要工具 语法:netstat [选项] n 拒绝显示别名,能显示数字的全部转化成数字l 仅列出有在 Listen (监听) 的服務状态p 显示建立相关链接的程序名t (tcp)仅显示tcp相关选项…

JDK、JRE、JVM之间的关系是什么?

目录 JVM、JRE、JDK的关系? JDK、JRE、JVM都是什么? JVM JRE JDK JVM、JRE、JDK的关系? 三者包含关系: JDK>JRE>JVM JDK、JRE、JVM都是什么? jdk:是用于java开发的最小环境 包括:ja…

C++牛客WebServer项目学习笔记一

1.Linux系统命令: sudo apt install softname # sudo 管理员权限;apt 安装软件命令;ps -ef | grep ssh # ps 查看进程命令;| 管道符;grep 过滤出(过滤出ssh关键词); 3.Ctrl滚动鼠标…

抓 https 报文新方案 -Magisk+LSPosed,来试试吧

关于如何抓取Android端https报文,在之前一篇文章中有介绍可以通过VitualXposedJustTrustMe模块禁用SSL验证,这样可以抓取到https,还是有一些同学反馈以下的一些问题: App在低版本的Android上不兼容,需要用高版本的And…

leetcode:1470. 重新排列数组(python3解法)

难度:简单 给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排后的数组。 示例 1: 输入:nums [2,5,1,3,4…

SQL-每日一题【607.销售员】

题目 表: SalesPerson 表: Company 表: Orders 编写一个SQL查询,报告没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。 以 任意顺序 返回结果表。 查询结果格式如下所示。 示例: 解题思路 1.我们可以用子查询来解决这道题,…

Tabby - 本地化AI代码自动补全 - Windows10

参考: https://github.com/TabbyML/tabby 安装winget,方便命令行安装git 微软商店,搜索winget,安装App Installer PS C:\Windows\system32> winget install --id Git.Git -e --source winget Found Git [Git.Git] Version 2…

旅游卡加盟代理合伙人模式软件开发

旅游卡加盟代理合伙人模式是近年来逐渐兴起的一种旅游产业发展模式,它通过将旅游卡加盟商与代理商紧密结合,实现资源共享、风险共担、合作共赢的目标。而软件开发作为旅游卡加盟代理合伙人模式的重要技术支持,对于该模式的实施和发展起着至关…

Prometheus节点监控及hadoop集群监控

话不多说,先看效果 1.监控组件Prometheus 1.1上传Prometheus包 [root@bigdb01 ~]# rsync root@172.16.1.247/data/fan/install/native/09.prometheus/jmx_prometheus_javaagent-0.19.0.jar /opt/software/1.2 解压 [root@bigdb01 ~]# mkdir /opt/module/monitoring [roo…