JavaScript学习笔记——数组方法

汇总

数组的四个基本方法(都会改变原数组)

  • push():
    向数组的最后面插入一个或多个元素,返回结果为该数组新的长度
	数组的新长度 = 数组.push(元素)
  • pop():
    删除数组中的最后一个元素,返回结果为被删除的元素
	被删除的元素 = 数组.pop();
  • unshift():
    在数组最前面插入一个或多个元素,返回结果为该数组新的长度
    插入元素后,其他元素的索引会依次调整
	数组的新长度 = 数组.unshift(元素);
  • shift()
    删除数组中的第一个元素,返回结果为被删除的元素
	被删除的元素 = 数组.shift();

数组的常见方法

  • slice()
    从数组中提取指定的一个或多个元素,返回结果为新的数组
    (不会改变原来的数组,而是将截取到的元素封装到一个新数组中返回)
	新数组 = 原数组.slice(开始位置的索引, 结束位置的索引);
	//注意:包含开始索引,不包含结束索引
	//可以是负值,意为从后向前截取
	//如果开始位置索引大于结束位置索引,则返回空数组
  • splice()
    从数组中删除指定的一个或多个元素,返回结果为新的数组
    (会改变原数组,会将指定元素从原数组中删除;被删除的元素会封装到一个新的数组中返回)
新数组 = 原数组.splice(起始索引index, 需要删除的个数, 第三个参数, 第四个参数...);

第三个及之后的参数,表示:
向原数组中添加新的元素,这些元素将会自动插入到开始位置索引的前面
  • concat()
    连接两个或多个数组,返回结果为新的数组
    (不会改变原数组)
新数组 = 数组1.concat(数组2, 数组3 ...);
  • join()
    将数组转换为字符串,返回结果为转换后的字符串
    不会改变原来的数组)

补充:join()方法可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符;如果不指定连接符,则默认使用 , 作为连接符,此时和 toString()的效果是一致的

新的字符串 = 原数组.join(参数); // 参数选填,不填默认“,”
  • reverse()
    反转数组,返回结果为反转后的数组
    (会改变原来的数组)
反转后的数组  =  数组.reverse();
  • sort()
    对数组的元素,默认按照Unicode编码,从小到大进行排序
    (会改变原来的数组)
    详见后文细说

遍历数组的方法(不会修改原数组)

数组/boolean/= 数组.every/filter/forEach/map/some(
                        function(item, index, arr){
                                        程序和返回值;
                        })
  • for循环
    for循环,懂的都懂

  • forEach()
    和 for循环类似,但需要兼容IE8以上
    forEach() 没有返回值。也就是说,它的返回值是 undefined

  • map()
    对原数组中的每一项进行加工,将组成新的数组

  • filter()
    对数组中每一项运行回调函数,该函数返回结果是true的项,将组成新的数组,返回结果为新的数组。可以起到过滤的作用

  • every()
    如果有一项返回false,则停止遍历,此方法返回 false
    一假即假。要求每一项都返回true,最终的结果才返回true

  • some()
    只要有一项返回true,则停止遍历,此方法返回true
    一真即真。要求每一项都返回false,最终的结果才返回false

  • reduce
    为数组中的每一个元素,依次执行回调函数

数组的其他方法

indexOf(value) lastIndexOf(value)

从前往后索引,获取 value 在数组中的第一个下标

    索引值 = 数组.indexOf(value);
    索引值 = 数组.lastIndexOf(value);
  • indexOf(value):从前往后索引,获取 value 在数组中的第一个下标
  • lastIndexOf(value) :从后往前索引,获取 value 在数组中的最后一个下标

如果没找到则返回-1

find(function())

找出第一个满足「指定条件返回true」的元素。

    find(function(item, index, arr){return true})

找出第一个满足「指定条件返回true」的元素
一旦找到符合条件的第一个元素,将不再继续往下遍历

findIndex(function())

找出第一个满足「指定条件返回true」的元素的index

Array.from(arrayLike)

将伪数组转化为真数组

	array = Array.from(arrayLike)

伪数组与真数组的区别:
伪数组的原型链中没有 Array.prototype,而真数组的原型链中有 Array.prototype
因此伪数组没有 pop、join等属性

Array.of(value1, value2, value3)

将一系列值转换成数组

	Array.of(value1, value2, value3)

其他

isArray():判断是否为数组

    布尔值 = Array.isArray(被检测的值) ;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值