我又来更新了,我是一直勤奋的小小小鸟,今天更新的是和昨天很像的,它是数组的操作哦~~
数组操作
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],插入的值要看原函数哦