您的位置:首页 > Web前端 > JavaScript

JavaScript学习 - 数组

2016-03-09 17:07 603 查看
① 数组的大小和下标

  声明就用array = […]的方式,和字符串不同,数组是可变的,不只是元素可变,长度也可变,可以通过设置length和修改超过length范围的元素来改变数组的长度。

var a = [1, 2, 3];
alert(a+' '+a.length); // 1,2,3 3
a.length = 6; // 直接修改数组的长度
alert(a); // 1,2,3,,,
var b = [1, 2, 3];
b[5] = 6;
alert(b+' '+b.length); // 1,2,3,,,6 6


  但是为了规范写法,最好还是不要这样强制修改数组的长度吧……

  下面开始介绍数组的方法

② indexOf

  这个方法和字符串的含义基本相同,没什么好解释的。

var a = [10, '20', 30, '30'];
alert(a.indexOf(30)); // 2


③ slice

  这个方法相当于String.substring(start, end),也很好理解。

var arr = [1, 2, 3, 4, 5];
alert(arr.slice(1, 3)); // 2,3
alert(arr.slice(2)); // 3,4,5


④ push和pop

  和C++里容器的push和pop方法也类似,特别的地方:push方法可以一次插入多个值,用逗号隔开就可以了,插入一个数组也可以。pop方法还会返回数组的最后一个元素值。

var arr = [1, 2, 3, 4, 5];
arr.push(6, 7, 8); // 与 arr.push([6, 7, 8]) 效果一致
alert(arr); // 1,2,3,4,5,6,7,8
alert(arr.pop()); // 8


⑤ shift和unshift

  shift表示移动,那么arr.shift()的意思就是将数组往左移一格,因此最左边的元素会被删掉,而且数组大小减一(如果数组大小为0,执行shift就没有效果了)。arr.unshift(value)的意思就是反过来,往右移,而且会在数组左边补上value元素,注意,也是可以补多个元素的,补多少个元素数组大小就增加多少。

var arr = [1, 2, 3, 4, 5];
arr.shift();
alert(arr+' '+arr.length); // 2,3,4,5 4
arr.unshift(9, 8, 7);
alert(arr+' '+arr.length); // 9,8,7,2,3,4,5 7


⑥ sort

  顾名思义就是排序,如果不加参数就使用默认的方法排序。sort方法会返回一个数组,但其实原数组也排好序了。

var a = [3, 6, 2, 4, 5, 8, 2];
var newA = a.sort();
alert(newA + '\n' + a); // 2,2,3,4,5,6,8,下一行同


  那么Array.sort的参数怎么设置呢?比如我现在要按照从大到小排序,怎么设置这个function参数?(先去上课,今晚继续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: