js 数组(总结)

像什么介绍算法、数据结构是什么的,我就不废话了,直接步入正题

js中使用数组这个数据结构,就是直接调用API,不需要自己封装

不需要封装的原因

  1. 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构
  2. js的数组不像c语言那种底层代码一样,只能存储除了定义时的数据类型,也不会定义多长就是多长而无法自己增加

数组的劣势

  1. 在中间位置插入、删除元素的效率比较低,因为要移动元素
  2. 数组扩大,有的语言需要重新申请更大的存储空间,将原来的值全部赋值过来后,移除原来的数组

创建数组

在这里插入图片描述

数组方法 – 返回值

js的数组提供了很多方法:
在这里插入图片描述

当然还有漏掉的:

pop(删除数组的最后一个元素)-- 返回移除的项,会修改原始数组。注意:数组为空的则返回underfined

push(将一个或多个元素添加到数组的末尾)-- 会修改原始数组,并返回修改后的数组的长度

shift(删除数组的第一个元素)-- 会修改原始数组,返回移除的项。注意:数组为空的则返回underfined

unshift(在数组的开头添加一个或多个元素)-- 会修改原始数组,并返回修改后的数组的长度

splice(用于从数组中添加或删除元素)-- 同时返回被删除的元素(只插入元素时返回一个空数组 []),会修改原始数组

以及一些漏掉的高阶函数,例如:

reduce(用于对数组的所有元素执行一个提供的回调函数,将数组元素归纳为单个值。)-- 返回值是最后一次调用回调函数后的累积值不修改原数组。具体应用:返回求和的结果

filter(遍历数组,过滤符合条件的数组元素(为true) )-- 返回合条件的新数组不修改原数组

find(找到第一个符合条件的成员)-- 返回数组成员,不改变原数组

fundIndex(找到第一个符合成员的索引)-- 返回索引值, 不改变原数组

这里菜鸟几乎列举了所有会使用的方法,其他菜鸟就不多说了,可以直接看:

数组方法注意

一、toString和valueOf的区别

toString()和valueOf()都是对象的方法。toString()方法返回反映这个对象的字符串。valueOf()方法如果存在任意原始值,它就默认将对象转换为表示它的原始值;对象是复合值,而大多数对象无法真正表示为一个原始值,因此默认的valueOf()方法简单地返回对象本身,而不是返回一个原始值。

这里可以见我的博客:详解类型转换

  1. toString()和valueOf()的主要不同点在于,toString()返回的是字符串,而valueOf()返回的是原对象

  2. 由于undefined和null不是对象,所以它们toString()和valueOf()两个方法都没有

  3. 数值Number类型的toString()方法可以接收转换基数,返回不同进制的字符串形式的数值;而valueOf()方法无法接受转换基数

  4. 时间Date类型的toString()方法返回的表示时间的字符串表示;而valueOf()方法返回的是现在到1970年1月1日00:00:00的数值类型的毫秒数

  5. 包装对象的valueOf()方法返回该包装对象对应的原始值

  6. 使用toString()方法可以区分内置函数和自定义函数

感谢作者:隔壁大米,文章链接:https://www.jianshu.com/p/24547d4e565f

二、push | unshift

这些方法都可以接收多个参数,一次性添加或删除多个元素!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PBitW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值