文章目录

  • 一、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