js中数组常用的方法总结,包括ES6
原文地址:js中数组常用的方法总结,包括ES6
1.push() 后增
push()方法可以向数组后添加一个新的元素,并返回新数组的长度。
末尾添加,返回长度,改变原数组
- var a = [1,2,3]
- var b = a.push(4)
- console.log(a) // [1,2,3,4]
- console.log(b) // 4
2.unshift() 前增
unshift()可以向数组前添加一个或多个元素,并返回新的长度
首部添加,返回长度,改变原数组
- var a = [2,3,4]
- var b = a.unshift(0,1)
- console.log(a) // [0,1,2,3,4]
- console.log(b) // 5
3.pop() 后删
pop() 用于删除并返回最后一个元素。
尾部删除,返回被删除的元素,改变原数组
- var a = [1,2,3]
- var b = a.pop()
- console.log(a) // [1,2]
- console.log(b) // 3
4.shift() 前删
shift() 用于删除并返回首个元素
删除首部元素,返回被删元素,改变原数组
- var a = [1,2,3]
- var b = a.shift()
- console.log(a) // [2,3]
- console.log(b) // 1
5. splice() 修该删除
splice(index,length,增加的元素1,增加的元素2....,增加的元素N) 表示从index开始删除length个元素,并从index开始新增元素1~N,放回被删除的元素组成的数组
对数组进行删除修改,返回被删除的元素组成的数组,改变原数组
- var a = [1,2,3]
- var b = a.splice(1,1,3,[2,3,4],5)
- console.log(a) // [1,3,[2,3,4],5,3]
- console.log(b) // [2]
6.concat() 拼接
concat() 方法用来合并两个或多个数组
合并两个或多个数组,返回新数组,不会改变原数组
- var a = [1,2,3]
- var b = [4,5]
- var c = a.concat(b)
- console.log(a) // [1,2,3]
- console.log(b) // [4,5]
- console.log(c) // [1,2,3,4,5]
7.slice() 剪切
slice(startIndex,endIndex) 返回从startIndex开始(包括),到endIndex(不包括)之间的原属组成的数组
返回新数组,不改变原数组
- var a = [1,2,3]
- var b = a.slice(0,1)
- // 不填参数则表示剪切整个数组
- var c = a.slice()
- console.log(a) // [1,2,3]
- console.log(b) // [1]
- console.log(c) // [1,2,3]
- console.log(a===c) // false // 注意 a !== c
- // 负数表示从后往前数
- var d = a.slice(-1,-2)
- console.log(d) // [] 从左向右截取,所以说为[]
- var e = a.slice(-1)
- console.log(e) // [3]
8.join()
join() 方法用来将数组转换为字符串
不改变原数组,返回转换后的字符串
-
- var a = [1,2,3,4,5]
- console.log(a.join(',')) // 1,2,3,4,5
- console.log(a) // [1,2,3,4,5]
-
9.sort() 排序
按ascii码排序
改变原数组,返回排序后的数组
- var a = ['a','b','d','c']
- console.log(a.sort()) // ['a','b','c','d']
- console.log(a) // ['a','b','c','d']
10.reverse() 颠倒顺序
reverse() 方法用于颠倒数组中元素的顺序。
返回的是颠倒后的数组,会改变原数组。
- var a = [1,3,2,7,6]
- console.log(a.reverse()) // [6,7,2,3,1]
- console.log(a) // [6,7,2,3,1]
11.indexOf()和lastIndexOf()
indexOf(某元素,startIndex) 从startIndex开始,查找某元素在数组中的位置,若存在,则返回第一个位置的下标,否则返回-1
lastIndexOf(某元素,startIndex) 和indexOf()相同,区别在于从尾部向首部查询
不会改变原数组,返回找到的index,否则返回-1
若不使用下标,则一般通过includes()方法代替indexOf()
- var a = [1,2,4,3,4,5]
- console.log(a.indexOf(4)) // 2
- console.log(a.indexOf(4,3)) // 4
12.filter() 过滤
filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变
filter()的参数是一个方法
- var a = [1,2,3,4,11]
- // 第一个参数为一个方法,有三个参数,current:当前值 index:当前值下标 array:这个数组对象
- var b = a.filter(function(current,index,array){
- return current < 10
- })
- console.log(b) // [1,2,3,4]
- console.log(a) // [1,2,3,4,11]
13.map() 格式化数组
map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变
- var a = [1,2,3,4,5]
- // 参数同filter方法
- var b = a.map(function(current,index,array){
- return current + 1
- })
- console.log(b) // [2,3,4,5,6]
- console.log(a) // [1,2,3,4,5]
14.every()
对数组的每一项都运行给定的函数,若每一项都返回 ture,则返回 true
- var a = [1,2,3,4,5]
- var b = a.every(function(current,index,array){
- return current < 6
- })
- var c = a.every(function(current,index,array){
- return current < 3
- })
- console.log(b) // true
- console.log(c) // false
15.some()
对数组的每一项都运行给定的函数,若存在一项或多项返回 ture,则返回 true
- var a = [1,2,3,4,5]
- var b = a.some(function(current,index,array){
- return current > 4
- })
- var c = a.some(function(current,index,array){
- return current > 5
- })
- console.log(b) // true
- console.log(c) // false
16.forEach() 数组遍历
遍历整个数组,中途不能中断
- var arr = ['a','b','c']
- var copy = []
- arr.forEach(function(item){
- copy.push(item)
- })
- console.log(copy)
ES6新增的方法
1. find()
找到数组中第一次满足条件的元素,并返回,若找不到则返回undefined。不改变原数组。
和filter()方法的区别在于:filter返回值是所有满足条件的元素组成的数组,
一般在需要使用找到的元素时,用find()方法
- var a = [1,2,3,4]
- // b在下面需要使用,则一般用find
- var b = a.find(function(ele,index,array){
- return ele == 1
- })
- var c = 3
- var d = b + c
- console.log(a) // [1,2,3,4]
- console.log(b) // 1
- console.log(d) // 4
- // 若只需判断元素是否存在
- // 若果是简单数组(非对象数组),则一般使用Array.includes(value)方法
- // 如果为对象数组,则可以使用Array.some()方法
- var a = [1,2,3]
- console.log(a.includes(1)) // true
- var a = [{"name": "xiaoming" },{"name": "xiaohong"}]
- console.log(a.some(function(ele){
- return ele.name == 'xiaoming'
- })) // true
2.findIndex()方法
findIndex()的作用同indexOf(),返回第一个满足条件的下标,并停止寻找。
区别是findIndex() 的参数为一个回调函数,且一般用于对象数组
- var a = [1,2,3,4]
- var b = a.findIndex(function(ele,index,array){
- return ele === 2
- })
- var c = a.indexOf(2)
- console.log(a) // [1,2,3,4]
- console.log(b) // 1
- console.log(c) // 1
3.includes()
includes()方法,返回一个布尔值。 参数是一个value,一般用于简单数组。
对于复杂数组,则可以使用some()方法替代includes()方法
- var a = [1,2,3]
- console.log(a.includes(1)) // true
4.Array.isArray()方法
用来判断一个元素是否为数组
- Array.isArray([]) // true
- Array.isArray({}) // false
js中数组常用的方法总结,包括ES6相关推荐
- JS中数组使用的方法
JS中数组使用的方法 数组的介绍 JavaScript Array(数组):属于对象的一种 在句子中的作用就是使用一个单独的变量来存储一系列的值 数组的创建方法 1.字面量方式:var arr=[] ...
- js中数组的entries方法
提示:js数组方法之entries方法的使用 js的数组身上的方法entries方法执行完会返回一个数组的iterator对象,可以借助for -of-遍历或者next()方法遍历. for -of遍 ...
- JS中数组查询的方法indexOf()、lastIndexOf()、includes()、find()、findIndex()、filter()、every()
JS中涉及到数组查询的方法见下表: 方法 描述 参数 返回值 indexOf() 搜索数组中的元素,并返回它所在的位置. 要搜索的元素 ,查找的起始位置 元素第一次出现的索引 lastIndexOf( ...
- js中数组常用的API(一)之添加、删除和搜索元素
1 数组的定义 数组是由一系列有序的元素组合在一起,通过索引可以得到元素的值. var arr = [1,2,'pink老师'] 2 添加和删除数组元素的方法 2.1 添加数组的方法 2.1.1 pu ...
- js中数组大全的方法总结
1.join() 将数组转换为字符串,默认是逗号.不改变原数组,返回转换后的字符串 . var arr = ["Banana", "Orange"," ...
- 【XJB造轮子】独立手写实现JS中数组的部分方法
心态浮躁的我在自己设想的小项目写不下去的时候跑过来没事干重新弄DS玩 看了下<学习JS数据结构与算法>的第二章并写了一下这几个方法: pop,shift,unshift 1.myUnshi ...
- 【JS】——数组拼接的多种方式包括ES6写法
1. 前言 很多时候的我们需要进行数组的拼接,再此就整理了js的数组多种拼接方式. 2. 数据准备 需要拼接的数组,简单例子 let num = [1,2,3]; let numTemp = [3,3 ...
- js中数组去重的方法
1.将数组的每一个元素依次与其他元素做比较,发现重复元素,删除 var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5,5];console.log(arr); // ...
- Javscript数组中最常用的方法(建议收藏)
数组最常见的方法 操作方法 排序方法 转换方法 迭代方法 js中数组的方法不管是写原生还是用框架,我们都会经常运用到,以及也有一些面试官会问到甚至让我们手写一个数组的排序函数: 所以我就通过查找一些好 ...
最新文章
- 【AI学院】新手如何学CV?老司机带学有三书籍《深度学习之图像识别》,赠书8本...
- paip sms to blog.txt
- 揭秘支撑双 11 买买买背后的硬核黑科技!
- 【Hive】命令行提示符中显示当前所在数据库
- 计算机msoffice怎么复习,全国计算机一级MSoffice怎样复习我在 – 手机爱问
- 欧姆龙编程软件SysmacStudio卸载方法
- c语言简单表白语言程序,c语言简单代码(c语言简单表白代码)
- 西南科技大学OJ45 分数求和
- verilog语法错误
- CSS中vertical-align和text-align属性详解(使用场景、举例、注意点)、display:table-cell使用详解(基础介绍和使用例子)。
- Python调用百度API实现语音识别
- 向量场的散度和旋度_矢量场问题一个矢量场的散度和旋度都为零,能 – 手机爱问...
- html中字体设置为行书,行书的字体结构,漂亮的行书是如何写出来的(上)
- JZJZJZ---数组中出现次数超过一半的数字
- 未来10年计算机专业会不会淘汰,未来10年不会“被淘汰”的4个专业,发展潜力较大,就业前景可观...
- 如何在文字上划横线_word怎么在字上划线的两种方法
- ArcScene制作三维地图-三维模型
- 【实习日志】SSM用户管理系统搭建+更新
- python用户输入字符串串从小到大排序_python字符串从小到大排序
- Cadence Pspice添加外部白噪声