文章目录
- 一、ES4提供的数组方法
- 1.数组元素的顺序
- 2.数组元素的截取
- 3.增删数组元素
- 4.数组的合并
- 5.将数组转换为字符串
一、ES4提供的数组方法
1.数组元素的顺序
数组元素的排序:sort()
语法格式:数组名.sort();
sort()方法可以没有参数使用:将数组中所有的元素都看作字符型数据来进行排序。
字符型数据之间的比较:
基本准则:小写字母>大写字母>数字>空格
字符型数据的比较准则:根据字符在字符串中的位置对两个字符串进行两两比较,第一个比较出来了的大小关系就是两个字符串之间的大小关系。
sort()方法可以带有参数使用:将数组元素中的数字按照数值大小进行排序。
例1:
var num=[10,5,4,0,29,91,52,73,1];
console.log(num);
num.sort(function(a,b){ return a-b; }) //将num数组的元素按照数值关系升序排列
console.log(num); //[0,1,4,5,10,29,52,73,91];
例2:
var num=[10,5,4,0,29,91,52,73,1];
console.log(num);
num.sort(function(a,b){ return b-a; }) //将num数组的元素按照数值关系降序排列
console.log(num); //[91,73,52,29,10,5,4,1,0]
(2)数组元素的逆序:reverse()
var x=[10,20,30,40,50];
console.log(x); //[10,20,30,40,50]
x.reverse();
console.log(x); //[50,40,30,20,10]
2.数组元素的截取
slice(start,end)
数组的slice()方法不影响原数组。
从数组中索引值为start的元素开始进行截取,直到索引值为end的数组元素为止,之间
所有的数组元素形成一个新数组,就是slice()方法最终的操作结果。
索引值为end的数组元素不在最终的截取结果中。
例:
var a=[5,10,15,20,25,30,35,40];
var b=a.slice(4,7); //从数组a中索引值为4的元素开始一直截取到索引值为7的元素为止
console.log(a); //[5,10,15,20,25,30,35,40]
console.log(b); //[25,30,35]
若省略end,则表示从索引值为start的数组元素开始一直截取到所有的数组元素结束为止。
用于指定截取范围的start和end可以取值为负数。数组的最后一个元素的索引值为-1,倒数第二个数组元素的索引值为-2,以此类推。
3.增删数组元素
(1)splice():【删除数组元素并影响原数组】
格式:数组名.splice(start,length)
从指定数组名的数组中删除从索引值为start的元素开始的length个数组元素。
返回值:返回删除的数组元素组成的新数组。
var y=x.splice(3,2);
console.log(x); //[10,20,30,60,70]
console.log(y); //[40,50]
利用splice()方法增加数组元素。
格式:数组名.splice(start,length,element1,element2,element3,……)
当length== =0时,将后面的element元素们添加到指定数组的start索引值位置处。
当length>0时,将后面的element元素们替代从start索引值开始的length个元素。
(2)增删操作数组末尾的元素:
格式: 数组名.push(element1,element2,……):将element元素们添加到指定数组的末尾。
返回值:成功在末尾添加数组元素后整个数组的元素个数
数组名.pop():将数组末尾的元素删除。
返回值:返回被删除的那个末尾元素。
(3)格式:数组名.unshift(element1,element2,…):将element元素们添加到指定数组的开头。
返回值:成功在开头添加数组元素后整个数组的元素个数。
数组名.shift():将数组开头的元素删除。
返回值:返回被删除的那个开头元素。
4.数组的合并
格式:数组名.concat(数组名1,数组名2,……)
以指定的“数组名”为开始,将数组名1、数组名2、…共同合并为一个新数组。
返回值:该方法不影响原数组,而是将合并后的结果以返回值的形式返回。
5.将数组转换为字符串
(1)数组名.join():不影响原数组,将数组转换为字符串。
var y=array.join(""); //join()方法有参数,转换的结果中数组元素用空串间隔
console.log(y); //10203040506070
(2)数组名.toString():不影响原数组,将数组转换为字符串。功能与不带参数的join()一致。
var array=[10,20,30,40,50,60,70];
y=array.toString();
console.log(array); //[10,20,30,40,50,60,70]
console.log(y); //10,20,30,40,50,60,70