1 javascript 数组的 常见几种定义方式并初始化
var emptyArr = new Array();//定一个空数组,长度默认为0 var arr = new Array(5);//定义一个长度为5的数组 var array = new Array('a','b','c','d','e');//定一个数组并初始化值 var listArr = [1,23,4,5,6,7];//定义数组,并初始化值
2 数组的长度属性
通过length属性我们可以获取 数组的长度 ,在定义数组的时候 我们也可以定义数组的length,但是大部分情况length不确定的.
var arr = new Array(10);//定义数组的长度为10 alert(arr.length);//弹出10 arr.length=15;//给length重新赋值 alert(arr.length);//弹出15 var arrList = new Array('php','c#','c++','c'); alert(arrList.length);//弹出4 arrList[0] = 'java';//给下标为0的重新赋值 alert(arrList[0]);//弹出java arrList[6] = 'python'; alert(arrList[6]);//弹出python 如果 alert(arrList[5]);会弹出什么呢 结果是 undefined 可见 在定义了 一个数组,如果没有给他的下标赋值 javascript引擎默认 会初始化为 undefined
3 内置的数组操作函数
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。 var arrList = new Array('php','java','python'); arrList.push('c','javascript','ruby'); alert(arrList); arrList.push('c++'); pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。 var emptyArr = new Array(); alert(emptyArr); emptyArr.pop();
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度
var arr_list = new Array('php','.net');
alert(arr_list);//弹出php,.net
arr_list.unshift('java','ruby');
alert(arr_list);//弹出 java,ruby,php,.net
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
var arr_shift = new Array('a','b','c');
alert(arr_shift.unshift());//弹出a
alert(arr_shift);//弹出b,c
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
arrayObject.splice(index,howmany,element1,.....,elementX)
通俗的说 就是从 数组的 第 index个下标开始 ,删除 howmany 个元素, 如果 element有值的话 从 被删除的 index下标开始 几次插入 element的 一个 或者多个值
var arr_splice = new Array('java','php','c','c++','python');
arr_splice.splice(1,2);//从下标为1的开始 即php,删除2个单位长度,即删除php,c
alert(arr_splice);//弹出 java,c++,python
arr_splice.splice(1,1,'ruby','javascript','objcet-c');
alert(arr_splice);//弹出 java,ruby,javascript,objcet-c,python
slice() 方法可从已有的数组中返回选定的元素。不改变原有的数组
arrayObject.slice(start,end)
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort(); //对数组元素排序,返回数组地址
arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
4 数组的扩展