简单封装js数组中的几种方法
reverse方法:
·reverse()方法:反转数组项的顺序。会改变原数组。
var values = [1,2,3,4,5];
values.reverse();
console.log(values); //5,4,3,2,1
可以看到,在使用reverse方法时,可以将一个原数组反转。
方法1(使用push方法来获取值):
·push()方法:接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
使用函数模拟封装一个reverse方法,
首先,要声明一个要练习的变量,
然后写出封装函数的基本框架,
因为需要倒序,所以此时需要一个新的数组来装下新的排列。
var crr=[ ],又因为是封装函数,所以var crr应写在函数中,
利用for循环,遍历arr中的每个值,并将其装在crr中,利用push方法,来获取值,从高到低,每获取一个值,执行一次循环,直到最后一个值为止;设i为下标:
在for循环外return新数组crr的值,该函数就封装完成了,完整代码:
方法2(使用unshift方法来获取值):
·unshift()方法:在数组的前端添加任意个项并返回新数组的长度。
如果说push方法是从后往前获取值的话,unshift方法就是从小到大获取值,而每个比前一位大的值排在该值之前。
利用上一个方法的变量arr
和上一个方法不同点就在于,for循环的条件发生了变化:
循环逐渐递增,而根据unshift方法,得到1之后,又得到2,3,4,5,每个比之前大的数字都排在该数字之前,排列为5,4,3,2,1,完整代码:
·indexOf()方法:
·indexOf():返回某个指定的字符串值或者某个数组元素值在字符串或者数组中首次出现的位置,位置即为下标,返回的值为数字。
首先创建一个数组,作为案例:
函数的基本框架:
此次案例,便是寻找字符串'c',在数组中下标的值为多少。
设置的形参brr和demo,分别对应数组arr和字符串'c',
利用for循环遍历:
找到对应的值时,便可以输出值,若全部遍历完后,依然找不到要寻找的值,那么返回:
之后便可以找出想寻找的值的下标了,完整代码: