Javascript

js中数组排序和拼接问题(不涉及算法)

本文主要是介绍js中数组排序和拼接问题(不涉及算法),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、数组排序的方式:正序、反序、随机排序

 

从上面的乱序我们可以看出,sort参数可以是一个函数!

具体细节可以看这个博主的介绍https://www.cnblogs.com/saifei/p/9043821.html

二、数组的拼接:主要使用的是concat方法

 

观察一下以上的三种场景输出的值到底是什么?

 

 

加上三个点就相当于ES6里面的Array.form语法。在ES6中Array.form是可以将字符串转换为数组的。

可以看到我们的concat不能将多维数组拼接起来。

三、删改的方法 slice 、splice(它俩最大的区别在于slice没有修改原数组,而splice修改了原数组)

3.1 Slice是用来返回一个新的数组,主要返回的是一个左闭右开的区间数组,一般传入两个参数,第二个参数可以不传,不传的话就相当于与一直到最后一位,如果传如最后一位,就相当于是起始位和结束位。当slice什么也不传的时候,是拷贝原数组。

 

 

 

slice是从一个数组中进行截断。并且规定起始位和终止位。如果传入一个参数,就相当于从起始位一直截断到最后。

slice也可以传入负数作为参数,也是遵循左开右闭的规则。

Slice还可以将字符串转换为新的数组

 

 

 这就是ES6之前比较复杂的操作了,现在一般都用Array实现这一操作。将字符串改变成为数组。

3.2 Splice的用法

和slice最大的区别就是改变了原数组。

第一种情况:Splice不传入参数时,相当于返回一个空的数组(

上面表示的是删除元素之后的数组。如果没有删除元素,直接返回空。

)。不是和slice一样,拷贝原数组。

第二种情况:

 当只有一个参数的时候,是起到截取操作的,左闭右开。和slice完全一样的。Slice支持负数的,同样的splice也支持负数

 

可以看到我们的原数组也发生了改变,在我们使用了splice之后,我们将原数组的长度进行了切割,上面的这个splice(0 ,6)表示的是将原数组从0开始阶段6位,然后返回的数组,就只剩下了后两位。

下面的这个方法是借鉴这个博主的方法,写的比较通俗易懂。

 

 

 

 四、indexof lastindexof includes的使用

Indexof找的只是索引值,而includes找的是数组中是不是包含这个值,返回的是布尔值,如果数组中有这个值,那么就返回true,如果没有这个值,会返回false

 

 

五、find函数的使用

Find函数里面的参数是一个函数,我们需要给这个函数还要传入一个参数,最后返回函数里面参数所做的操作。比如这里面我们演奏找到数组中大于4的数。

前面的所有方法都是实例方法,不是静态方法(就是在构造器上面的),下面我们介绍的ES6语法都是静态方法,都是属于在构造器中定义的方法。关于什么是实例方法,什么是静态方法,什么是原型方法,参考网址:

https://www.bilibili.com/read/mobile?id=11991753,讲的很详细

六、Arrayof 和Arrayform方法的使用

我们可以看到Array(3)和Array(3,4,5)表达的不是一个意思,我们ES6语法为了统一,所以增加了Array.of的方法来进行优化,使得统一起来。都变成数组的形式。而Array.from表达的意思就是将字符串变成数组。

 七、fill用法

 

如果不想都被填充掉,那么需要定义起始和结束的位置

 

从0开始到3结束,左闭右开,全部填充为6.

 总结:

 

这篇关于js中数组排序和拼接问题(不涉及算法)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!