javascript中的数组方法(含ES5.ES6)

方法功能参数是否改变原数组返回值
push()尾插任意个任意值返回操作之后的数组长度
pop()尾删无参返回被删除的数据
unshift()头插任意个任意值返回操作之后的数组长度
shift()头删无参返回被删除的数据
reverse()逆序无参返回操作之后的数组
sort()排序回调函数返回操作之后的数组
join()转为字符串无参返回字符串
concat()拼接数组任意值,任意个返回拼接之后的数组
slice()截取一个(从指定索引开始截取到最后),两个(左闭右开)返回被截取的区间,左闭右开
splice()删除、插入、替换一个(从指定索引开始删除到最后),两个(从指定索引开始,删除n个),三个及以上(从指定索引开始,删除n个,第三个参数是数据,添加到被删除的数据的位置)返回被删除的值
indexOf()查找数据位置回调函数存在返回索引,不存在返回-1
lastIndexOf()查找数据位置回调函数存在返回索引,不存在返回-1
forEach()遍历回调函数undefined
map()遍历回调函数数组(回调函数的值)
filter()遍历回调函数数组(符合条件的值)
every()遍历回调函数boolean (只要有一个不符合条件,则返回false)
some()遍历回调函数boolean (只要有一个符合条件,则返回true)
find()查找回调函数返回第一个符合条件的项
findIndex()查找回调函数返回第一个符合条件的项的索引
fill()填充参数1:要填充的值,参数2:开始索引,参数3:结束索引返回操作后的数组
includes()是否包含参数1:要查找的值返回boolean
Array.from()伪转真参数1:伪数组/返回真数组
Array.of()一组值转数组任意个/返回数组

例:

  • 可复制直接运行js文件
const arr = [1,3,5,2,4,6]
// 尾插
console.log(arr.push('10'))
// 头插
console.log(arr.unshift('2'))
// 尾删
console.log(arr.pop())
// 头删
console.log(arr.shift())
// 反转数组
console.log(arr.reverse())
// 排序 从小到大a - b(默认);从大到小b - a
console.log(arr.sort((a, b) => { return a - b }))
// 数组转字符串(以逗号分割)
console.log(arr.toString(), typeof arr.toString())
// 数组转字符串(原数组未改变)
console.log(arr.join(), arr.join('-'))
// 连接数组(原数组未改变)
console.log(arr.concat(22, 88), arr)
// 切割数组(原数组未改变)
// (被切割的部分形成新的数组)(切割遵循'左闭右开'))(出现负数,则负数加数组长度即是下标)
console.log(arr.slice(1, 3), arr.slice(2), arr.slice(4,-2), arr)
// 删除、插入、替换
console.log(arr.splice(4), arr.splice(1, 2), arr.splice(1, 1, 2, 3, 4, 5, 6), arr)
// 查找(ES5新增)
console.log(arr.indexOf(2), arr.indexOf('2'), arr.indexOf('2', 3), arr)
console.log(arr.lastIndexOf(2), arr.lastIndexOf(2, 3), arr)
// 循环(ES5新增)
arr.forEach((item, index, self) => { console.log(`${item}---${index}---${self}`) })
// map映射(ES5新增)
console.log(arr.map((item) => { return item * item }), arr)
// 过滤(ES5新增)
console.log(arr.filter((item) => { return item > 3 }), arr)
// 数组的每一项是否符合条件(全部符合才返回true)(ES5新增)
console.log(arr.every((item) => { return item > 0 }), arr)
// 数组中有一项符合条件,返回true(ES5新增)
console.log(arr.some((item) => { return item < 2 }), arr)
// 伪转真(ES6新增)
console.log(Array.from('123'), Array.from({0: 'hh', 1: '11', length: 2}))
// 将一组值转为数组(ES6新增)
console.log(Array.of('11','12'))
// 找到第一个符合条件的项
console.log(arr.find((item) => { return item > 3 }), arr)
// 找到第一个符合条件的项的索引
console.log(arr.findIndex((item) => { return item > 3 }), arr)
// 填充
console.log(arr.fill(10, 2, 4), arr)
// 是否包含(返回布尔值)
// 与indexOf()的区别:1.indexOf()返回的是数值,而includes()返回的是布尔值;2.indexOf() 不能判断NaN,返回为-1 ,includes()则可以判断
console.log(arr.includes(1))
// 遍历数组键名
Array.from(arr.keys()).forEach((item) => { console.log(item) })
// 遍历数组键值
Array.from(arr.values()).forEach((item) => { console.log(item) })
// 遍历数组键名和键值
Array.from(arr.entries()).forEach((item) => { console.log(item) })

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值