js中数组常用简单方法

学了这么久js觉得有必要好好总结一下常用的一些数组方法。

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


一、Array.isArray()

此方法用于判断传入值是否为一个数组,代码如下:

var arr=[1,2,3,4,5]
res=Array.isArray(arr)
console.log(res)   //true

二、Array.of()

此方法返回一个传入参数组成的数组,代码如下:

console.log(Array.of(1,0,0)) //[1,0,0]

三、pop()

pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

var arr=[1,2,3,4,5]
a=arr.pop()
console.log(arr,a) //[1,2,3,4]  5

pop()会改变原数组

四、shift()

shift()方法删除数组第一个元素,改变原数组,返回被删除的元素

var arr=[1,2,3,4,5]
a=arr.shift()
console.log(arr,a)//[ 2, 3, 4, 5 ] 1

shift()会改变原数组

五、push()

此方法向数组末尾添加一个元素,改变原数组,返回添加后数组的length。

c=arr.push(2)
console.log(c,arr)//6 [ 1, 2, 3, 4, 5, 2 ]

push()会改变原数组

六、unshift()

此方法向数组开头添加一个元素,改变原数组,返回添加后数组的length

c=arr.unshift(2)
console.log(c,arr) //6 [ 2, 1, 2, 3, 4, 5 ]

unshift()会改变原数组

七、reverse()

此方法会反转一个数组,改变原数组,返回反转后的数组

arr.reverse()
console.log(arr) //[5,4,3,2,1]

reverse()会改变原数组

八、sort()

此方法将数组进行排序,改变原数组。接收一个非必填参数,此参数代表排序的规则(默认不传参数字按升序)

但我们要思考一个问题,如果对数组中的元素按照我们自己想定义的顺序排序应该如何做呢?
这里我们就要传入一个比较函数了:

该函数比较两个值的大小,然后返回一个用于说明这两个值的相对顺序的数字。
比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,即 a - b 小于零,则返回一个小于零的值,数组将按照升序排列。
若 a 等于 b,则返回 0。
若 a 大于 b, 即 a - b 大于零,则返回一个大于零的值,数组将按照降序排列。

arr.sort((a,b)=>
{
    return b-a
})
console.log(arr)  //降序
arr.sort((a,b)=>
{
    return a-b
})
console.log(arr)//升序

sort()会改变原数组

九、splice()

splice() 方法用于添加或删除数组中的元素。
在这里插入图片描述

arr.splice(0,0,'abbc')  //直接不删除元素只插入元素
console.log(arr)

arr.splice(0,2)
console.log(arr)   //删除0、1两项元素

arr.splice(0,2,'a')
console.log(arr)  // 删除0、1两项元素后插入 ‘a’

splice()会改变原数组

十、slice()

slice() 方法可从已有的数组中返回选定的元素。
在这里插入图片描述

在这里插入图片描述

var  a=arr.slice(0,3)
console.log(a,arr) //[ 1, 2, 3 ] [ 1, 2, 3, 4, 5 ]

十一、fill()

fill() 方法用于将一个固定值替换数组的元素。
语法:
array.fill(value, start, end) 左闭右开
在这里插入图片描述

arr.fill('aaa',0,3)
console.log(arr) //[ 'aaa', 'aaa', 'aaa', 4, 5 ]

fill()会改变原数组

十二、join()

join() 方法用于把数组中的所有元素转换一个字符串。
元素是通过指定的分隔符进行分隔的。
语法:array.join(separator)
在这里插入图片描述

s=arr.join() 
console.log(s) //1,2,3,4,5

十三、concat()

concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法:arrayObject.concat(arrayX,arrayX,…,arrayX)
在这里插入图片描述
注意:如果参数是数组,则添加的是数组中的值而不是该数组

var arr2=[1,2,3]
var newArr=arr.concat(arr2)
console.log(arr,arr2,newArr)//[ 1, 2, 3, 4, 5 ] [ 1, 2, 3 ] [1, 2, 3, 4,5, 1, 2, 3]

十三、toString()

此方法可以将一个一维或者多维数组转化为字符串,不改变原数组

var arr = [1,2,3,4,5]; 
var arr1 = [1,2,[3,4],[5,6],7]
a=arr.toString()
s=arr1.toString()
console.log(a) //1,2,3,4,5
console.log(s) //1,2,3,4,5,6,7

十四、indexOf()

此方法用来查找数组中某一项的下标值,从左往右查找,不改变原数组,不存在返回-1

注意:当数组是多维的时候,若待查找数组存在于某维内部,找不到 如下:

var arr1 = [1,2,[3,4],[5,6],7]
console.log(arr1.indexOf(7))  //4
console.log(arr1.indexOf(3))   //-1

十四、lastIndexOf()

此方法也是用来查找数组中某一项的下标值,从右往左查找,不改变原数组

注意:当数组是多维的时候,若待查找数组存在于某维内部,找不到 如下:

var arr1 = [1,2,[3,4],[5,6],7]
console.log(arr1.lastIndexOf(7))  //4
console.log(arr1.lastIndexOf(3))   //-1

十五、includes()

此方法用来查找数组中某一项是否存在,返回true或者false。
注意:当数组是多维的时候,若待查找数组存在于某维内部,找不到 如下:

var arr1 = [1,2,[3,4],[5,6],7]
console.log(arr1.includes(3)) //false

十六、总结

可以改变数组本身的方法有:
pop、push、shift、unshift、reverse、fill、sort、splice
不改变自身的方法有:
concat、includes、join、slice、indexOf、lastindexOf

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值