JavaScript 数组方法

1、join()

把数组转换为字符串,并规定一个连接字符,不传参则默认的是逗号 ' , '

let arr=[10,9,12,8,6,3,13,1]

arr.join()

arr.join("-")

2、push() 和 pop()、shift() 和 unshift()

push() 把里面的参数添加原数组末尾,并返回修改后的数组长度

pop() 删除原数组的最后一项,返回删除的那个值,并减少数组的长度 lenght

unshift() 将里面的参数添加到原数组开头,并返回修改后的数组长度

shift() 删除原数组的第一项,返回删除的那个值,并减少数组的长度 lenght

3、sort()

对原数组里的项从小到大排序

如果调用该方法时没有使用参数,是按照字符编码的顺序进行排序。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

arr.sort()  \\ 默认从小到大 

arr.sort((a,b) => b-a)  \\ 从大到小

4、reverse()

反转原数组数组项的顺序

arr.reverse()

5、concat()

将参数添加到数组中,创建当前数组的副本,将接收到的参数添加到这个副本的末尾,再返回新构建的数组。没有传参的话,只是复制当前数组并返回副本

arr.concat(9,[11,13])

6、slice()

可接收一或两个参数,返回开始下标结束下标之间项组成的新数组(不包含结束下标的项);一个参数就是返回指定位置开始到数组末尾的所有项

arr.slice(1,3)

7、splice()

删除:指定两个参数,要删除的起始位置和要删除的项数

arr.splice(1,3)

插入:可向指定位置插入任意数量的项,需指定3个参数:起始位置、0(要删除的项数)和要插入的任意数量的项。

arr.splice(2,0,4,6)

替换:可向指定位置插入任意数量的项,且同时删除任意数量的项,需指定三个参数,起始位置、要删除的项数和要插入的任意数量的项。

arr.splice(2,1,5,8,9)

8、indexOf() 和 lastIndexOf()

indexOf() 和 lastIndexOf() 都是接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。

其中,indexOf() 是从数组的开头(位置0)开始向后查找;lastIndexOf() 是从数组的末尾开始向前查找。

arr.indexof(5)

arr.lastIndexOf(5,4)

9、forEach()

对数组进行遍历循环,对数组中的每一项运行给定函数。

传参:遍历的数组元素、索引和数组本身

arr.forEach(
    (x, index, a) => console.log(x + '|' + index + '|' + (a === arr))
);

注:forEach不支持break;forEach使用return无效(直接再for循环中使用return会报错,函数中使用for可以return);forEach删除自身元素index索引不会被重置(使用forEach删除自身元素可以通过反过来遍历);

10、map()

map() 方法创建一个数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果

let arr1 = arr.map(x => x * x);

11、filter()

"过滤",数组的每一项运行给定函数,返回满足过滤条件组成的新数组

let arr1 = arr.filter((x, index) => { 
    return index % 3 === 0 || x >= 8; 
});

12、every() 和 some()

every() 判断数组中每一项是否满足条件,只有所有项都满足条件,才会返回 true

some() 判断数组中是否有满足条件的项,只要有一项满足条件,就会返回 true

let result1 = arr.every(i => i < 10);

let result2 = arr.some(i => i < 3);

13、其他常用数组方法

1)find() 返回符合传入函数条件的第一个数组元素

2)findIndex() 返回符合传入函数条件的第一个数组元素索引

3)includes() 判断一个数组是否包含一个指定的值

4)isArray() 判断对象是否数组

5)toString() 把数组转换为字符串,并返回结果(数组中的元素之间用逗号分隔)

let fruits = ["Banana", "Orange", "Apple", "Mango"]

console.log(fruits.toString())

console.log(fruits.includes('Mango'))

console.log(Array.isArray(fruits))

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值