优秀的编程知识分享平台

网站首页 > 技术文章 正文

JS中数组常用操作总结(js数组的常用方法)

nanyue 2024-09-08 05:59:57 技术文章 4 ℃

数组可以说是JS中最常用的数据类型之一了,JS中的数组与其他语言一样都是数据的有序列表。但有所不同的是,JS数组中每一项都可以保存任何类型的数据,这也就意味着,一个数组可以同时保存string、number、object等类型的数据。

数组的定义就不在这里多说了,下面来说一下数组常用的操作以及一些容易忽略的细节。

length属性

length属性可用于读取数组的长度,这个众所周知。但是length属性并不是只读属性。通过设置属性值,可以做到从数组末尾移除或者向数组中添加新项。例如,新建一个长度为3的数组,然后将length属性设置为4,此时输出数组长度则为4,此时 myArr[3] 的值为 undefined。同样,若设置 myArr.length=2,则会移除次数组中的“arr3”项。

length属性示例

Array.isArray(value)方法

此方法用于检测传入的value值是否为数组。若是,则返回true;否,则返回false。如下图所示:定义数组myArr,在实行Array.isArray()方法时,返回true,而定义的sun为number类型,执行此方法则返回false。

Array.isArray(value)方法示例

toString()、toLocaleString()、valueOf()

所有对象都具有这三种方法。此处我们只讨论数组调用这三种方法的表现形式。先看代码示例:

通过代码可以看出,调用valueOf()方法返回的结果仍然是数组的形式;调用数组的toString()方法和toLocaleString()方法在此处的输出结果上是没有任何区别的,但并不总是如此,看下面的代码:

此时,两种方法的输出结果并不相同。这是因为,alert()要接收字符串参数,在获取每一项值的时候,alert()和toString()方法执行的时每一项的toString()方法,而toLocaleString()调用的时每一项的toLocaleString()方法。

toString()、toLocaleString()、valueOf()方法示例

栈方法

栈是一种非常常用的数据结构,它遵从LIFO(Last-In-First-Out,后进先出)原则。栈的插入和移除只能从栈顶进行。在JS中也提供了专门的方法。使数组实现类似栈的行为。

push( ):可以接收任意数量的参数,将接收的数据添加到数组末尾,并返回修改后的数组长度。

pop( ):从数组末尾移除最后一项,修改数组的length属性值,并返回移除的项。

栈方法示例

队列方法

栈遵从LIFO原则,而队列则遵从FIFO(First-In-First-Out,先进先出)原则。队列在数据列表的末端添加新项,从列表的头部移除项。在JS中,因为push() 方法已经实现向数组末端添加项,因此只需实现从数组头部移除项的方法,便可以模拟队列的操作。实现此操作的方法是shift()方法。

队列方法示例

JS还提供了unshift()方法,与shift()方法功能相反,它可以在数组的头部添加任意个项并返回新数组的长度。因此,unshift()和pop()方法结合使用,可以实现方向模拟队列操作,用法同上,不再举例描述~

未完待续~~~

“猿叨叨”欢迎您的关注,同时欢迎关注同名微信公众平台进行交流讨论~

【转载请注明出处】

最近发表
标签列表