ECMAScript 3在Array.prototype中定义了一些很有用的操作数组的函数,这意味着这些函数作为任何数组的方法都是可用的。
<强> 1,Array.join()方法强>
Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串。可以指定一个可选的符号或字符串在生成的字符串中来分隔数组的各个元素。如果不指定分隔符,默认使用逗号。注意:此方法不会改变原始数组
var arr=[' a ', ' b ', ' c '); console.log (arr.join ());//a, b, c console.log(加勒比海盗。加入(" "));//a b c console.log (arr.join (" "));//abc console.log (arr.join (slf));//aslfbslfc var arr2=new Array (10); console.log (arr2.join (“-”);//- - - - - - - - - - - - >之前扩展:Array.join()方法是String.split()方法的逆向操作,后者是将字符串分割成若干块来创建一个数组。
<强> 2,Array.reverse()方法强>
Array.reverse()方法将数组中的元素颠倒顺序,返回逆序的数组。它采取了替换,换句话说,它不通过重新排列的元素创建新的数组,而是在原先的数组中重新排列它们。注意:此方法会改变原始数组。
var arr=[' a ', ' b ', ' c '); console.log (arr.reverse ());//[' c ', ' b ', ' ') console.log (arr);//[' c ', ' b ', ' ') >之前<强> 3,Array.sort()方法强>
Array.sort()方法将数组中的元素排序并返回排序后的数组。当不带参数调用排序()方法时,数组元素以字母表顺序排序。注意:此方法会改变原始数组。
var arr=[“ba”、“b”、“交流”); console.log (arr.sort ());//(“交流”、“b”,“ba”) console.log (arr);//(“交流”、“b”,“ba”) >之前如果数组包含未定义元素,它们会被排到数组的尾部。
var arr=new Array (4); 加勒比海盗[0]=癰a”; 加勒比海盗[1]=' b '; 加勒比海盗[2]=白簟? 加勒比海盗[3]=定义; console.log (arr.sort ());//(“交流”、“b”,“ba”,未定义) console.log (arr);//(“交流”、“b”,“ba”,未定义) >之前如果想按照其他方式而非字母表顺序进行数组排序,则必须给排序()方法传递一个比较函数。该函数决定了它的两个参数在排好序的数组中的先后顺序。假设第一个参数在前,比较函数应该返回一个小于0的数值。反之,假设第一个参数在后,函数应该返回一个大于0的数值。并且,假设两个值相等(它们的顺序无关紧要),函数应该返回0。例如,用数值大小而非字母表顺序进行数组排序,代码如下:
var arr=new Array (4); 加勒比海盗[0]=45; 加勒比海盗[1]=12; arr [2]=103; 加勒比海盗[3]=24; console.log (arr.sort ());//(103、12、24 45) console.log(加勒比海盗。排序(函数(a, b){返回b;}));//[12]103年,45岁的24日 >之前有时候需要对一个字符串数组执行不区分大小写的字母表排的序,这时可以使用比较函数,首先将参数都转化为小写字符串(使用toLowerCase()方法),再开始比较。
var arr=[' abc ',“Def”,“中行”,“喂”); console.log (arr.sort ());//(“中行”,“Def”,“喂”,“abc”) console.log(加勒比海盗。排序(函数(s, t) { var=s.toLowerCase (); var b=t.toLowerCase (); 如果(& lt;b)返回1; 如果(在b)返回1; 返回0; }));//(“abc”,“中行”,“Def”,“喂”) >之前<强> 4,Array.concat()方法强>
Array.concat()方法创建并返回一个新数组,它的元素包括调用concat()的原始数组的元素和concat()的每个参数。如果这些参数中的任何一个自身是数组,则连接的是数组的元素,而非数组本身。但要注意,concat()不会递归扁平化数组的数组。注意:此方法
不会修改原始数组。var arr=[' abc ',“Def”,“中行”,“喂”); console.log(加勒比海盗。concat (1、2));//(“abc”,“Def”、“中行”,“喂”,1,2) console.log(加勒比海盗。concat (1、2、4、5)));//(“abc”,“Def”、“中行”,“喂”,1,2,4,5] console.log(加勒比海盗。concat (1、2、4, [slf, 5]]));//(“abc”,“Def”、“中行”,“喂”,1,2,4,Array [2]] console.log (arr);//(“abc”,“Def”、“中行”,“喂”)JavaScript中数组数组方法详解