「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。
我个人觉得要想进大厂,就必须学习了解算法和数据结构,经历了多次面试之后,也知道了算法和数据结构的重要性,所以,我也打算从今天开始,进入学习,下载了一下电子书,边看书,边跟着书的例子来敲一下代码,下面就开始总结一下对算法和数据结构的学习吧。
第五天:继续了解数组
我们已经学过了 push、pop、shift、unshift 和 splice 方法。下面我们继续学习数组剩余的一些方法
-
concat
这个方法可以链接两个或更多的数组,并返回结果
const a = 1; const arr1 = [2,3,4] const arr2 = [5,6,7] const result = arr1.concat(a, arr2) // [2, 3, 4, 1, 5, 6, 7]concat 方法可以向一个数组传递任意类型(数组、对象或是元素...)。数组会按照该方法传入的参数顺序 连接指定数组,在上面的例子中,就传入了基础数据类型1和另一个数组
-
join
将所有的数组元素连接成一个字符串,join有一个参数。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
arr1.join('#')就比如上面这个,以#分割数组,组成字符串,最后的输出就是2#3#4
-
indexOf
返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1
arr1.indexOf(3)上面的数组里面有3,可以知道,3在数组的第二个元素,它的索引是2,所以最后返回的2
-
lastIndexOf
返回在数组中搜索到的与给定参数相等的元素的索引里最大的值
arr1.lastIndexOf(3)上面这函数其实和indexOf的方法是一致的,只是它从数组的最大索引开始往前找,返回的值还是2
-
reverse 颠倒数组中元素的顺序,原先第一个元素现在变成最后一个,同样原先的最后一个元素变成了现在 的第一个,返回改变后的数组的值
arr1.reverse()reverse就是调转数组的顺序,要注意的是,这个方法会改变原来的数组,所以使用的时候得考虑到,所以上面的返回值是[4,3,2]
-
toString
将数组作为字符串返回
arr1.toString()这个和join方法有共同的功能,但是,join更灵活一点,toString并不能传参数,只能是以逗号链接元素,返回字符串,所以上面的返回值是2,3,4
-
valueOf
和 toString 类似,将数组作为字符串返回,valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
arr1.toString()上面的返回值是2,3,4
-
slice
传入索引值,将数组里对应索引范围内的元素作为新数组返回,slice和splice其实有一点点像,slice不会改变原数组,它只有两个参数,一个是开始的索引,一个是结束的索引。
如果参数是负数,则会返回 数组的长度加负数的参数
const arr3 = [1,2,3,4,5,6] // 都是正数 arr3.slice(3,4) // [4] // 都是负数 arr3.slice(-3, -1) // [4, 5] // 不传第二个参数 arr3.slice(3) // [4,5,6]第一个,索引从3开始,包含3,结束为4,不包括4,所以返回的是4
第二个,索引从-3+6=3开始,结束为-1+6=5结束,不包括5,所以返回[4,5]
第三个,如果不传第二个参数,则从3开始,到最后,包含最后的,所以返回[4,5,6]