js小白学习路之js数组(一)

xiaoxiao2021-02-28  9

学习笔记:js数组操作

改变原数组的操作

一、对数组进行更新或删除

var arr= [ 'red','green','blue'];

 pop()      arrr.pop()//blue         取出数组最后一项

 push()   arr.push('black')// 4      将数据项添加到数组末尾,返回新数组的长度

shift()       arr.shift()//red     取出数组第一项

arr.unshift('a','b')//     将数据项添加到数据前端,返回新数组的长度

最强大的数组操作方法splice()

传入两个参数:删除   arr.splice(value1,value2),   value 为删除的第一项的位置,value2为删除的项数

传入三或以三个上个参数:  替换或插入数据    arr.splice(value1,value2,value3),   value1起始位置,value2为删除的项数(value2为0时,splice()作用改变为插入数据项),value3及之后的value4是要插入的项

 

二、不改变原数组的操作

concat()连接数组

var color1=['red','blue']

var color2 = color.concat(''yellow",['black','white']) //red,blue,yellow,black,white

 

slice()基于当前数组的一或多个项创建一个新数组

传入一个参数   var color3 = color2.slice(1) //blue,yellow,black,white   返回第一项到最后一项

传入两个参数   var color3 = color2.slice(1,3)//blue,yellow   从第一项开始到第二项,第三项不取

如果slice()传入的方法中有一个负数,那么用数组长度加上该数:  例如:slice(-2,-1)与slice(2,3)结果相同

如果结束位置小于起始位置,那么返回空数组

 

 

三、对数组数据项进行排序

var arr= [ 5,7,2,4,10'];

reverse()     arr.reverse()//10,4,2,7,2        对数组进行简单的反序

sort( )    可以传递一个函数参数           

无函数参数 

arr.sort()//10,2,4,5,7     对数组进行大小排序   sort()会调用每项的toString()方法,然后在进行大小比较,所以10排在最前面。

有函数参数 

compare1(value1,value2){

return value1-value2//升序排列,返回正数,会将vaule1,排在value2后面

}   

 

arr.sort( compare)  //2,4,5,7,10

 

compare2(value1,value2){

return value2-value1//降序排列

}   

 

arr.sort( compare)  //10,7,5,4,2

 

四、数组位置方法Indexof() 和lastIndexof()

都接收两个参数(要查找的元素(可选),起点位置索引)

var arr=[1,2,3,4,5]

 

Indexof()  从数组开头向后查找

 

arr.Indexof(2,0) //1    从第零项开始找,返回匹配项索引

arr.Indexof(2,2) //-1  从第三项开始往后找,找不到返回-1

 

lastIndexof()  从数组开头向后查找

arr.lastIndexof(2,4) //1  从第四项开始往前找。

                                                                                                                       未完待续.............

 

 

 

 

 

     

 

 

转载请注明原文地址: https://www.6miu.com/read-1600330.html

最新回复(0)