javascript方法总结_Array
参考:http://www.w3school.com.cn/js/jsref_obj_array.asp
Array 对象
Array 对象用于在单个的变量中存储多个值。
创建 Array 对象的语法:
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
参数
参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。
参数 element ..., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。
返回值
返回新创建并被初始化了的数组。
如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。
当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。
当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。
Array 对象属性
FF: Firefox, IE: Internet Explorer
属性 | 描述 | FF | IE |
返回对创建此对象的数组函数的引用。 | 1 | 4 | |
index |
| 1 | 4 |
input |
| 1 | 4 |
设置或返回数组中元素的数目。 | 1 | 4 | |
使您有能力向对象添加属性和方法。 | 1 | 4 |
Array 对象方法
FF: Firefox, IE: Internet Explorer
方法 | 描述 | FF | IE |
连接两个或更多的数组,并返回结果。 | 1 | 4 | |
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 | 1 | 4 | |
删除并返回数组的最后一个元素 | 1 | 5.5 | |
向数组的末尾添加一个或更多元素,并返回新的长度。 | 1 | 5.5 | |
颠倒数组中元素的顺序。 | 1 | 4 | |
删除并返回数组的第一个元素 | 1 | 5.5 | |
从某个已有的数组返回选定的元素 | 1 | 4 | |
对数组的元素进行排序 | 1 | 4 | |
删除元素,并向数组添加新元素。 | 1 | 5.5 | |
返回该对象的源代码。 | 1 | - | |
把数组转换为字符串,并返回结果。 | 1 | 4 | |
把数组转换为本地数组,并返回结果。 | 1 | 4 | |
向数组的开头添加一个或更多元素,并返回新的长度。 | 1 | 6 | |
返回数组对象的原始值 | 1 | 4 |
总结:
转换方法:toLocaleString,toString, valueOf
栈方法:push pop
队列方法:shift,unshift
重排序方法:sort
操作方法:concat slice splice
位置方法:indexOf lastIndexOf
ECMAScript5增加了迭代方法:every filter forEach map some
ECMAScript5缩小方法:reduce reduceRight
补充:length属性时可以读写的;
定义数组的第二种方法是:使用数组字面量;
join用于将数组转化为字符串,默认以","分割,也可以通过传入参数来改变分隔符。
Alert输出数组时,后台调用的是toString方法
concat join slice splice,前三个方法不改变元数组,splice改变原数组,可以实现增加,删除,修改
concat连接的只是数组的内容,而不是数组作为本身一个元素被连接。
<script type="text/javascript">
//用Array对象定义数组
var arr1 = new Array();
var arr2 = new Array(3);
var arr3 = new Array("red","green","yellow");
//用数组字面量定义数组
var arr4 = [];//创建一个空数组
var arr5 = [1,"green",arr1];//创建包含三个字符串的数组
var arr6 = [1,2,];//不要这样!这样会创建一个包含2项或3项的数组
var arr7 = new Array(3);
arr7.length = 5;
</script>
<script type="text/javascript">
var arr1 = new Array("red","green","yellow");
var arr2 = [1,"green",arr1];//创建包含三个字符串的数组
arr2.push(arr1);
arr2.push("blue","black");
var popItems = arr2.pop();
var arrA = new Array("red","green","yellow");
var arrB = [1,"green",arrA];//创建包含三个字符串的数组
arrB.shift();
arrB.shift();
var unshiftItems = arrB.unshift();
</script>
<script type="text/javascript">
//注意:concat连接的是数组中的内容
var arr1 = new Array("red","green","yellow");
var arr2 = [1,"green",arr1];//创建包含三个字符串的数组
var arr3 = arr2.concat(arr1,"black",1,new Object());
var arr4 = arr3.slice(2);
var arr5 = arr3.slice(2,5);
var arrOriginal = [1,"green",arr1,"black",1,new Object()];
arrOriginal.splice(2,1);//删除第三项
var arrOriginal1 = [1,"green",arr1,"black",1,new Object()];
arrOriginal1.splice(2,0,"inserted",arr1);//插入新的第三项,第四项
var arrOriginal2 = [1,"green",arr1,"black",1,new Object()];
arrOriginal2.splice(2,2,"inserted",arr1);//替换第三项、第四项
</script>