信息:原创2014-08-180 次阅读0 个评论
标签:后天堂向上,网站制作,自学教程,网站技术,javascript,javascript数组
创建:var arr=[1,2,3,4];
输出:alert(arr);
属性
| 名称 | 描述 |
|---|---|
| length | 数组长度 |
方法
| 名称 | 描述 | 实例 |
|---|---|---|
| .toString() | 将数组内容以字符串的形式输出 |
暂无 |
| .valueOf() | 将数组内容以字符串的形式输出 |
暂无 |
| .reverse() | 数组排序,由大到小 |
暂无 |
| .sort() | 数组排序,由小到大 |
暂无 |
| .join(str) | 修改数组元素默认分隔符(,),方法返回值是字符串,数组不变 |
实例 |
var arr=[1,2,3,4];
alert(arr.join("*")); // 输出 1*2*3*4
alert(arr.join("|")); // 输出 1|2|3|4
alert(arr.join("___")); // 输出 1___2___3___4
alert(arr); // 输出 1,2,3,4
|
||
| .push(value) | 栈方法(后进先出),在数组最后添加一个或多个元素,方法返回数组的最新长度 |
实例 |
var arr=["a","b","c"];
alert(arr); // 输出 a,b,c
alert(arr.push("d")); // 输出 4
alert(arr); // 输出 a,b,c,d
alert(arr.push("e","f")); // 输出 6
alert(arr); // 输出 a,b,c,d,e,f
|
||
| .pop() | 栈方法(后进先出),移除数组最后一个元素,方法返回移除的元素 |
实例 |
var arr=["a","b","c","d"];
alert(arr); // 输出 a,b,c,d
alert(arr.pop()); // 输出 d
alert(arr); // 输出 a,b,c
alert(arr.pop()); // 输出 c
alert(arr); // 输出 a,b
|
||
| .unshift() | 队列方法(先进先出),在数组最前添加一个或多个元素,方法返回数组的最新长度 |
实例 |
var arr=["a","b","c"];
alert(arr); // 输出 a,b,c
alert(arr.unshift("1")); // 输出 4
alert(arr); // 输出 1,a,b,c
alert(arr.unshift("2","3")); // 输出 6
alert(arr); // 输出 2,3,1,a,b,c
注意:此方法在 IE 浏览器的低版本中不兼容,能添加元素,但无返回值。 |
||
| .shift() | 队列方法(先进先出),移除数组最前一个元素,方法返回移除的元素 |
实例 |
var arr=["a","b","c","d"];
alert(arr); // 输出 a,b,c,d
alert(arr.shift()); // 输出 a
alert(arr); // 输出 b,c,d
alert(arr.shift()); // 输出 b
alert(arr); // 输出 c,d
|
||
| .concat() | 创建新数组,在当前数组后面添加若干元素或数组而形成新的数组,原数组不变 |
实例 |
var arr1=[1,2,3];
var arr2=arr1.concat(4,5);
var arr3=arr1.concat([6,7]);
alert(arr1); // 输出 1,2,3
alert(arr2); // 输出 1,2,3,4,5
alert(arr3); // 输出 1,2,3,6,7
|
||
| .slice(start,end) | 创建新数组,从当前数组中截取一部分元素创建新数组,原数组不变 |
实例 |
var arr1=[1,2,3,4,5];
var arr2=arr1.slice(2);
var arr3=arr1.slice(2,4);
alert(arr1); // 输出 1,2,3,4,5
alert(arr2); // 输出 3,4,5
alert(arr3); // 输出 3,4
|
||
| .splice(start,len,str) | 创建新数组,从当前数组中截取一部分元素创建新数组,原数组改变 |
实例 |
// ================================ 删除用法 ===================================
var arr1=[1,2,3,4,5];
var arr2=arr1.splice(0); // 全部截取
alert(arr1); // 输出
alert(arr2); // 输出 1,2,3,4,5
var arr1=[1,2,3,4,5];
var arr2=arr1.splice(2); // 如果只填一个参数,那么截取开始位置为0,所填参数为截取长度
alert(arr1); // 输出 1,2
alert(arr2); // 输出 3,4,5
var arr1=[1,2,3,4,5];
var arr2=arr1.splice(2,1);
alert(arr1); // 输出 1,2,4,5
alert(arr2); // 输出 3
// ================================ 插入用法 ===================================
var arr1=[1,2,3,4,5];
var arr2=arr1.splice(2,0,"a"); // 第二参数(截取长度)为0,就是在插入用法
alert(arr1); // 输出 1,2,a,3,4,5
alert(arr2); // 输出
// ================================ 替换用法 ===================================
var arr1=[1,2,3,4,5];
var arr2=arr1.splice(2,1,300); // 第二参数(截取长度)为1,就是在替换用法
alert(arr1); // 输出 1,2,300,4,5
alert(arr2); // 输出 3
|
||
数组的排序有时候并不能正确执行,比如下面的数组中出现了一位数与两位数共存的情况,这时候数组可能会按照字符串的比较进行排序,因此,数组的排序结果自然不是我们想要的。
var arr=[2,10,4,18,3];
alert(arr.sort());// 输出 10,18,2,3,4
alert(arr.reverse());// 输出 4,3,2,18,10
怎样解决这个问题呢?Javascript 开发文档给出了答案,那就是给排序函数添加回调函数,具体操作如下:
function Compare(v1,v2)
{
switch(true)
{
case v1<v2 : return -1; break;
case v1==v2 : return 0; break;
case v1>v2 : return 1; break;
}
}
var arr=[2,10,4,18,3];
alert(arr.sort(Compare));// 输出 2,3,4,10,18
alert(arr.reverse());// 输出 18,10,4,3,2