javascript的数组API
1.定义数组
var arr1 = new Array(); var arr2 = [1,2,3,4,5];
2.返回数组长度,length
var arr1 = [1,2,3,4,5]; var len = arr1.length; alert(len); //5
3.删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined --shift()
var arr1 = [1,2,3,4,5]; var a = arr1.shift(); alert(a); //1 var arr2 = new Array(); var b = arr2.shift(); alert(b); //undefined
4.将参数添加到原数组开头,并返回数组的长度 --unshift()
注意:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。
var arr1 = [1,2,3,4,5]; var a = arr1.unshift(-2,-1,0); alert(a); //undefined alert(arr1); //-2,-1,0,1,2,3,4,5
5.删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined --pop()
var arr1 = [1,2,3,4,5]; var a = arr1.pop(); alert(a); //5 alert(arr1); //1,2,3,4 var arr2 = new Array(); var b = arr2.pop(); alert(b); //undefined
6.将参数添加到原数组末尾,并返回数组的长度 --push()
var arr1 = [1,2,3,4,5]; var a = arr1.push(6,7); alert(a); //7 alert(arr1); //1,2,3,4,5,6,7
7.返回一个新数组,是将参数添加到原数组中构成的 --concat()
var arr1 = [1,2,3,4,5]; var a = arr1.concat(6,7); alert(arr1); //1,2,3,4,5 alert(a); //1,2,3,4,5,6,7 var arr2 = [10,20]; var b = arr1.concat(arr2); alert(b); //1,2,3,4,5,10,20
8.splice(start,deleteCount,val1,val2,):从start位置开始删除deleteCount项,并从该位置起插入val1,val2
var arr1 = [1,2,3,4,5]; arr1.splice(2,1,6,7); alert(arr1); //1,2,4,5,6,7 var arr2 = [1,2,3,4,5]; arr2.splice(0,0,-2,-1); // 相当于arr2.unshift(-2,-1) alert(arr2); //-2,-1,1,2,3,4,5 var arr3 = [1,2,3,4,5]; arr3.splice(arr3.length,0,8,9); //相当于arr3.push(8,9) alert(arr3); //1,2,3,4,5,8,9 var arr4 = [1,2,3,4,5]; arr4.splice(2,2,7,8,9); alert(arr4); //1,2,7,8,9,5
9.将数组反序 --reverse()
var arr1 = [1,2,3,4,5]; arr1.reverse(); alert(arr1); //5,4,3,2,1
10.按指定的参数对数组进行排序 --sort()
数组对象的sort方法可以按照一定的顺序把数组元素重新排列起来。通常情况下,都是按照字母顺序排列的。
var arr1 = ['java','jack','tom','lucy']; arr1.sort(); alert(arr1); //jack,java,lucy,tom var arr2 = [5,2,1,4,3]; arr2.sort(); alert(arr2); //1,2,3,4,5 var arr3 = [40,300,2000,10000]; arr3.sort(); alert(arr3); //数组排列之后的顺序是10000,2000,300,40,10000作为最大的数字却排在了第一位,仅仅是因为它以1开头。
sort方法可以接受一个参数,这个参数的类型是函数,它也就是排序函数了。我们可以使用它来进行自定义的排序方式。
var arr4 = [40,10000,2000,300]; function sortNumber(a,b){ return a-b; } arr4.sort(sortNumber); alert(arr4); //40,300,2000,10000
11.slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
参数 | 描述 |
---|---|
start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
var arr1 = [1,2,3,4,5]; var arr2 = arr1.slice(2,5); alert(arr2); //3,4,5
12.join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var arr1 = [1,2,3,4,5]; var str1 = arr1.join(); var str2 = arr1.join('|'); alert(str1); //1,2,3,4,5 alert(str2); //1|2|3|4|5