数组常用方法大全

数组的方法总结

join 把数组转成字符串

push和pop

push 数组的末尾添加,返回新的长度

pop 数组的末尾删除

shift和unshift

unshift 数组的第一个元素添加,返回新的长度

shift 数组的第一个元素删除,返回第一个元素的值

sort 对数组进行排序

数组.sort()按照数组的字符编码进行排序

想要按照升序或者降序排序的话需要需要自己封装一个简单的函数,传两个参数,例如下面,升序和降序只需要将返回的参数换一下位置

function mySort(m, n) {

            return m - n

        }

数组.sort(mySort)之后,查看原数组就好

reverse 反转数组

concat 连接两个或者多个数组 原数组不变,连接起来的组成一个副本

let lyl = ["我", "爱", "你"]

let cyx = ["C", "Y", "X"]

let myAnd = lyl.concat(cyx)

console.log(myAnd, "组成的副本数组");  ['我', '爱', '你', 'C', 'Y', 'X']

console.log(lyl, "原数组");  ['我', '爱', '你']

slice 数组的截取 (一般两个参数开始和结束) 返回新数组,原数组不变

let err = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

如果只有一个参数就是从下标0开始截取几位数

let err1 = err.slice(2)

console.log(err1);  [3, 4, 5, 6, 7, 8, 9, 0]

let err2 = err.slice(0, 3)

console.log(err2);  [1, 2, 3]

splice 在数组中增加或者删除,会改变原数组

一般是有三个参数splice(index ,howmany , itemX)

传一个参数/Users/admin/Desktop/practice/数组的方法.html

传递一个参数的时候表示从这个参数的位置开始一直截取到最后

传两个参数

第一个参数表示开始的位置(下标)

第二个参数表示要截取的个数;

若第二个参数为0,则表示不截取,返回的空数组,原来的数组不变

var arr = [2,4,6,7,8,9];

console.log(arr);  [2,4,6,7,8,9]

var n = arr.splice(2,3);  表示从下标位置为2开始截取3个数

console.log(n);  [6, 7, 8]

console.log(arr);  [2, 4, 9]

传三个参数 (分第二个参数为不为0两种情况

若第二个参数为0,则表示不截取,返回的空数组,原来的数组不变

若第二个参数不为0,表示从index开始,删除howmany个项,在下标为index的位置添加一个为itemX的新项

ES5新增的方法

两个索引方法 indexOf()  lastIndexOf()

indexOf() 查询查询某个元素在数组中第一次出现的位置 存在该元素,返回下标,不存在 返回-1

var list = [1, 2, 3, 4];

var index1 = list.indexOf(4);  3

var index2 = list.indexOf(5);  -1

lastIndexOf() 查询某个元素在数组中最后一次出现的位置 (或者理解为反向查询第一次出现的位置) 存在返回下标,不存在 返回 -1 

五个迭代方法 forEach()、map()、filter()、some()、every()

forEach() 对数组进行遍历循环,每次循环中执行传入的回调函数没有返回值不改变原数组

array.forEach(function(value,index,arr){})

map() 遍历数组, 每次循环时执行传入的回调函数,根据回调函数的返回值,生成一个新的数组 ,同forEach() 方法,但是map()方法有返回值,可以return出来

filter() 遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,把满足条件的元素筛选出来放到新数组中

every() 功能: 遍历数组, 判断数组中所有的元素是否满足某个条件 返回true false,全真为真一假为假

some() 遍历数组, 判断数组中所有的元素是否满足某个条件 返回true false,一真为真全假为假

个归并方法:reduce()、reduceRight()

reduce() 遍历数组每次循环时候执行传入的回调函数会返回一个值这个值回作为初始值prev传入下一个函数中返回最终的结果

arr.reduce(function(prev,item,index,array){})

prev 初始值,如果不设置初始值默认是数组中的第一个元素,遍历时从第二个元素开始遍历

item 每次循环的当前元素

index 每次循环的当前下标

array 原数组

 var app = [2, 3, 4, 5];

        var sum = app.reduce(function (prev, item, index, array) {

            console.log(prev, item, index, array,11111);

            2 3 1 (4) [2, 3, 4, 5] 11111     

5 4 2 (4) [2, 3, 4, 5] 11111    

9 5 3 (4) [2, 3, 4, 5] 11111

            return prev + item;

        });

        console.log(sum,"reduce");  14  'reduce'

reduceRight() 用法同reduce,只不过是从右向左

ES6新增的方法

Array.from() 用于将两类对象变成数组。一类是类数组对象,一类是可遍历对象。

Array.of() 用于将一组值,转换为数组参数不分类型只分数量数量为0返回空数组

find() 和 findIndex() 用于找出第一个符合条件的数组成员和下标

find()当数组中没有符合的元素是返回undefined, findIndex()没有符合是返回-1

find() 对于空数组函数是不会执行的也不会改变数组的原始值

fill() 方法使用给定值填充一个数组

array.fill(value,  start,  end)

value:必需。填充的值。

start:可选。开始填充位置。如果这个参数是负数,那么它规定的是从数组尾部开始算起。

end:可选。停止填充位置 (默认为 array.length)。如果这个参数是负数,那么它规定的是从数组尾部开始算起。

includes() 检查是否包含某个值,返回truefalse

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值