JavaScript数组方法-系统性总结详解
作者:AlunOtway 发布时间:2024-04-28 09:38:49
首先总结的意义就是让杂乱无章变得更加井然有序,这样在使用的过程思路会更加清晰。
数组使用方法注意点:
变异方法和非变异方法。即变异方法使用会改变原数组,后者则不会。下面脑图将其进行了标注。
你或许需要注意数组方法和字符串方法有几个方法相似,数组和字符串是如何切换的?
有些方法参数是支持负数的,有些方法第二个参数不是代表坐标代表的是个数。
甚至回调函数我们也可以将其梳理一遍,大部分回调函数参数格式是一样的,有些回调函数是不一样的。
当split,slice,splice,join,contains,includes,push,pop,shift,unshift甚至你被相似的单词搞得晕头转向,以至于你分不清哪个是数组的方法哪个是字符串方法,哪个功能是干嘛来着。当然我现在可以告诉你上面那些方法究竟是数组方法还是字符串方法,甚至字符串方法和数组都有这么一个方法,但是没必要,因为你终究很难记住。所以下面将其进行系统的归类总结,你就很容易区分出来了。
接下来你只需要忘记你之前杂乱无章的记忆,通过梳理重新建立你的记忆。
数组常用方法
数组元素增添和删除
操作数组头部
unshift(value)
变异方法
数组头部插入一个元素shift()
变异方法
移出数组头部的第一个元素
操作数组尾部
push(value) 变异方法 向数组尾部压入一个元素
pop() 变异方法 弹出数组尾部一个元素
任意位置增删
splice(start,length[…,value]) 变异方法
第二个参数为个数,不为0的时候表示需要从start开始删除length个元素支持增删一起做。
数组拼接
concat(…arr) 字符串有该类似方法
数组转换成字符串
join(str) 以指定字符进行拼接将数组转换成字符串
toString() 以","号进行分割将数组转换字符串
截取数组
slice(start[,end])
支持负数 字符串有该类似方法
数组排序方法
排序
sort(callback)
变异方法
对数组进行排序
回调函数返回 a-b为从大到小进行排序,b-a则为从小到大进行排序。
//callback回调函数格式
function callback(a,b) {
return a-b
}
顺序翻转
reverse()变异方法
对数组的顺序进行反转
数组迭代方法
数组遍历查找
返回值为下标
indexOf(targetValue) 从左到右数组进行遍历,查找目标值的所在下标,返回第一次出现的下标值.
lastIndexOf(targetValue) 从右到左对数组进行遍历,查找目标值所在下标,返回第一次出现的下标值.
findIndex(callback) 通过回调函数对数组元素进行条件判断,返回第一次满足条件的元素下标值
返回值为内容
find(callback) 通过回调函数对数组元素进行条件判断,返回第一次满足条件的元素值
数组遍历处理
callback(value[,index[,array]])
//callback回调函数格式
function callback( value, index, array) {
//处理
...
return ... //此处是否不需要retrun语句下面对其进行标注
}
forEach(callback) 对数组进行遍历处理仅处理无返回值。callback不需要return语句
map(callback) 遍历数组每一个元素使用callback对数组进行处理,并且将callback处理过的返回值加入到新数组并返回新数组。
filter(callback) 对数组进行过滤操作,返回callback返回值为true的元素组成的新数组。
every(callback) 对数组进行遍历,如果callback返回值都为true,则方法的返回值为true
some(callback) 对数组进行遍历,如果callback返回值有一个为true,则方法的返回值为true
callback(total,value[,index[,array]])
//callback回调函数格式
function callback(total, value, index, array) {
return total + value;
}
reduce(callback[,初始值])
从左往右数组依次缩短,同时上一次处理的结果total传入下次回调函数的作为参数供回调函数使用
reduceRight(callback[,初始值])
从右往左数组依次缩短,同时上一次处理的结果total传入下次回调函数的作为参数供回调函数使用
数组其他方法
includes(value) ES6 判断数组是否包含某个元素
来源:https://blog.csdn.net/qq_39225639/article/details/120137750


猜你喜欢
- 简介Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建
- 将[]byte转成16进制import "crypto/md5"import "fmt"sign :
- 前言在很多网站中,基本上的都会有一个开头和一个结尾,在每一个网页中都会显示。相对于这种的来说,在Django中,最好的方法就是使用inclu
- 一、平稳序列建模步骤假如某个观察值序列通过序列预处理可以判定为平稳非白噪声序列,就可以利用ARMA模型对该序列进行建模。建模的基本步骤如下:
- 前言根据加锁的范围,MySQL 里面的锁大致可以分成全局锁,表级锁,行锁。行锁已经在前面几篇文章说过1. 全局锁全局锁就是对整个数据库实例加
- 安装好jupyter notebook后,在pycharm中无论运行什么样的python脚本,都会默认使用python的console运行,
- 本文实例为大家分享了python绘制折线图和条形图的具体代码,供大家参考,具体内容如下最近开始写小论文啦,中间不免要作各种各样的图,学习后自
- 1、汉语分词的由来使用ASP开发的中小企业的网站,对于站内搜索,往往只是简单的通过SQL语句匹配数据库。对于比较短的词语搜索,这个方法是有效
- SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,a
- 通常我们会在一些javascript的书籍上看到,使用Javascript保留字作为标识符(变量名、函数名、循环标记等)时,会引起程序报错!
- Microsoft SQL Server 7.0安全问题Microsoft Corporation【「Microsoft SQL Serve
- 本文实例讲述了Django框架视图介绍与使用。分享给大家供大家参考,具体如下:视图视图:即一个python函数,可以叫 视图函数,或者简称
- 1. 动态属性名:可使用表达式来设置动态属性名或方法名:<!-- 属性name --><a :[name]=&
- 一、php中pcntl_fork函数概述pcntl_fork()函数是php中用于创建子进程的一个函数,返回创建的子进程的pid。该函数创建
- SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事
- 最近在学着用easyui,发现框架用起来果然是方便简洁,能弄出这框架的都是大神级别了吧,牛啊....今天碰到这个应用可以说是让我非常之无语,
- 首先有一段以下结构体的定义type User struct {UserName stringUserId int `name:
- 等了好久的小程序,终于在近日曝光了。现在就带大家来尝尝鲜。以下是一张随便看看的图。一、构建微信小程序的步骤下载开发工具考虑到微信0.9.09
- 前言项目中会有点到直线距离计算、两条直线交点坐标计算、两条直线夹角计算的需求。一、点到直线距离计算由于项目中得到点的坐标最容易,因此采用向量
- 昨天BOSS下了个命令让我用word宏的方式来快速生成sql,这样在我们建表的时候就不用在一条一条元数据的输入。从而提高效率节约成本:接到命