JS之数组操作

我又来更新了,我是一直勤奋的小小小鸟,今天更新的是和昨天很像的,它是数组的操作哦~~

数组操作

1.join( )

用于把数组中的所有元素,通过指定的分隔符放入一个字符串,有参数,原数组不变

例1:

var arr = [1,2,3,4,5,6,7,8];
var str = '';
str = arr.join('|');
console.log(arr,str)//返回的值分别为[1,2,3,4,5,6,7,8],“1|2|3|4|5|6|7|8”,体现了原数组不变

2.pop( )

移除数组中的最后一个元素并返回该元素,并且数组的长度减去1,这个不需要参数,会改变原数组

例1:

var arr = [1,2,3,4,5,6,7,8];
console.log(arr.pop(),arr) //返回的值分别为8,[1,2,3,4,5,6,7],返回的是被删除的元素,原数组也发生了改变

注意注意:如果数组为空,返回的值是undefined


3.shift( )

移除数组中的第一个元素并返回该元素,并且数组的长度也减去1,这个也不需要参数,会改变原数组

例1:

var arr = [1,2,3,4,5,6,7,8];
console.log(arr.shift(),arr) //返回的值分别为1,[2,3,4,5,6,7,8],返回的是被删除的元素,原数组也发生了改变

和pop( )很像哦


4.push( )

向数组末尾添加一个或多个元素,并返回新的长度,没有创建新的数组

例1:

var arr = [1,2,3,4,5,6,7,8];
console.log(arr.push('aaa'),arr) //返回的值分别为9,[1,2,3,4,5,6,7,8,"aaa"],返回的是长度所以是一个数值,没有创建新的数组,只在原数组上添加了新的元素

5.sort( )

对数组的元素进行排序,可有参数也可没有参数

例1:没有参数

var arr = [10,22,78,65,41,100];
console.log(arr.sort()); // 返回的值为[10,100,22,41,65,78]

不选参数的话,按照字母顺序排序,先字符串华,再按照字符串编码排序

例2:有参数

var arr = [10,22,78,65,41,100];
console.log(arr.sort());
function fn(a,b){
     return a-b;
 } // 返回的值为[10,22,41,65,78,100]

参数必须是一个函数,比较函数,这个函数可写在外面,例子中的函数写在了外面,设置了a,b两个参数,返回a-b则是从小到大排序,返回b-a则是从大到小排序


6.reverse( )

逆序排序

例1:

var arr = [10,22,78,65,41,100];
console.log(arr.sort().reverse());
function fn(a,b){
     return a-b;
 } // 返回的值为[100,78,65,41,22,10],实现了逆序排序

7.slice( )

可以从指定的数组中返回选中的元素,可以有两个参数,slice(x,y),x是必不可少的

例1:只有x,x为正数

var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(arr.slice(2),arr)//返回的值为[2,3,4,5,6,7,8,9],[0,1,2,3,4,5,6,7,8,9]

例2:只有x,x为负数

var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(arr.slice(-1),arr)//返回的值为[9],[0,1,2,3,4,5,6,7,8,9]如果x为负数,则倒数

例3:有x,y

var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(arr.slice(2,6),arr)//返回的值为[2,3,4,5],[0,1,2,3,4,5,6,7,8,9] y值为数组下标

注意注意:如果x为负数,y则不需要设置,设置也无效


8.splice( )

对数组的删除,替换,插入,返回被删除的元素,有三个元素,splice(x,y,z),x是起始位置,y是删除几项,z是被插入的元素(在x的位置插入)

例1:只有x

var arr = [0,1,2,3,4,5,6,7,8];
var arr2 = arr.splice(2);
console.log(arr2)//返回的值为[2,3,4,5,6,7,8]

例2:有x,y

var arr = [0,1,2,3,4,5,6,7,8];
var arr2 = arr.splice(2,4);
console.log(arr2)//返回的值为[2,3,4,5]

例3:有x,y,z

var arr = [0,1,2,3,4,5,6,7,8];
var arr2 = arr.splice(2,4,'hello');
console.log(arr2,arr)//返回的值为[2,3,4,5],[0,1,"hello",6,7,8],插入的值要看原函数哦
Share