JavaScript学习 - 数组
2016-03-09 17:07
603 查看
① 数组的大小和下标
声明就用array = […]的方式,和字符串不同,数组是可变的,不只是元素可变,长度也可变,可以通过设置length和修改超过length范围的元素来改变数组的长度。
但是为了规范写法,最好还是不要这样强制修改数组的长度吧……
下面开始介绍数组的方法
② indexOf
这个方法和字符串的含义基本相同,没什么好解释的。
③ slice
这个方法相当于String.substring(start, end),也很好理解。
④ push和pop
和C++里容器的push和pop方法也类似,特别的地方:push方法可以一次插入多个值,用逗号隔开就可以了,插入一个数组也可以。pop方法还会返回数组的最后一个元素值。
⑤ shift和unshift
shift表示移动,那么arr.shift()的意思就是将数组往左移一格,因此最左边的元素会被删掉,而且数组大小减一(如果数组大小为0,执行shift就没有效果了)。arr.unshift(value)的意思就是反过来,往右移,而且会在数组左边补上value元素,注意,也是可以补多个元素的,补多少个元素数组大小就增加多少。
⑥ sort
顾名思义就是排序,如果不加参数就使用默认的方法排序。sort方法会返回一个数组,但其实原数组也排好序了。
那么Array.sort的参数怎么设置呢?比如我现在要按照从大到小排序,怎么设置这个function参数?(先去上课,今晚继续)
声明就用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参数?(先去上课,今晚继续)
相关文章推荐
- [RxJS] Displaying Initial Data with StartWith
- 4 Javascript:决策-if/else语句
- js设计模式--鸭子类型
- [RxJS] Updating Data with Scan
- js获取url传递参数
- JavaScript学习 - 字符串
- js动态创建及移除div的方法
- ejs 模板中输出的两种方式
- 学习Javascript闭包
- javaScript中的this关键字
- [RxJS] Stopping a Stream with TakeUntil
- js exploit
- maven 构建web项目index.jsp报错
- json常用jar包
- JS获取回车事件和文本焦点处理不同按钮提交信息
- JavaScript学习笔记
- 总结的JS数据类型判定(非常全面)
- javascript中callee与caller的用法和应用场景
- JS第11天
- JS中关于 一个关于计时器功能效果的实现