我的javascript权威指南-6
来源:互联网 发布:淘宝运费险多少钱 编辑:程序博客网 时间:2024/05/20 10:22
1.创造数组
- 方法:
- 字面量
- new运算符
- 示例
字面量
var arr=[1,3];
new运算符
var arr =new Array();
2.数组的读写
var arr=[3,5,7];alert(arr[2]); //7
3.稀疏数组
- 定义:包含从0开始不连续索引的数组,通常length大于元素个数
- 创造:
通过new运算符
var arr=new Array(4);
通过字面量
var arr=[];arr.length=10;
- 注意:通过逗号省略创造的不会产生稀疏数组,实际元素undefined
3.数组的添加删除
- 基本方法
- 头部添加和删除:unshift()和shift()
- 尾部的添加删除:push()和pop()
- 另种尾部添加的方法
arr[arr.length]=5;
splice方法
语法:
array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, …)
参数:
start 指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从1计数);若只使用start参数而不使用deleteCount、item,如:array.splice(start) ,表示删除[start,end]的元素。
deleteCount 可选 整数,表示要移除的数组元素的个数。如果 deleteCount 是 0,则不移除元素。这种情况下,至少应添加一个新元素。如果 deleteCount 大于start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。如果deleteCount被省略,则其相当于(arr.length - start)。
- item1, item2, … 可选 要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。
返回值:由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
4.数组遍历
方法
1. for循环
2. for in循环
3. forEach()方法
5.多维数组
javascript不支持多维数组,但可以用数组的数组来近似
var arr=[[2,3],[,4,5]] //可以表示两行两列的数组
6.数组方法
- join():将数组每一项拼接成字符串,接收一个参数可以控制字符串拼接的符号
- sort():对数组进行排序,但是需要传入比较函数
<script type="text/javascript"> var arr=[{name:'zhangsan',age:'28'},{name:'lisi',age:'45'}] function pai(sx){ return function(obj1,obj2){ return obj1[sx]-obj2[sx]; } } var k=arr.sort(pai('age')); alert(k[0].age); </script>
- reverse():颠倒数组
- concat():接收一个参数,将两个数组连接在一起
- slice():截取数组,返回截取后的数组。接收两个参数,左闭右开。
- toString():将数组转换为字符串,和join()方法不用任何参数调用的结果一样
- toLocaleString():将数组转换为字符串并且使用本地化分隔符将这些字符串连接起来。
6.ECMAScript 5 中的数组方法
- forEach():
- 定义:forEach() 方法对数组的每个元素执行一次提供的函数。
- 语法:array.forEach(callback[, thisArg])
- 参数说明:
- callback 为数组中每个元素执行的函数,该函数接收三个参数:
- currentValue(当前值)数组中正在处理的当前元素。
- index(索引)数组中正在处理的当前元素的索引。
- arrayforEach()方法正在操作的数组。
- thisArg可选 可选参数。当执行回调函数时用作this的值(参考对象)。
- callback 为数组中每个元素执行的函数,该函数接收三个参数:
- 示例:
var arr = ['a', 'b', 'c'];arr.forEach(function(element) { console.log(element);});// a// b// c
- map()
- 定义:调用每个元素传递给指定函数,并返回一个新数组,包含该函数的返回值。
- 示例:
var a=[23,4,5,6,7,8];var b=a.map(function(x){return x+x}) //[46,8,10,12,14,16];
- filter()
- 定义:返回调用函数的一个子集。传递的函数是用来逻辑判断的。如果返回true,就会返回一个子集数组。
- 示例:
var a=[23,4,5,6,7,8];var b=a.filter(function(x){return x>5}) //[23,6,7,8];
- some()和every()
对数组进行逻辑判断,返回true或false,some和every差异顾名思义。
- reduce()和reduceRight()
- 定义:reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
- 注意: reduce() 对于空数组是不会执行回调函数的。
- 参数说明:
function(total,currentValue, index,arr)参数 描述total 必需。初始值, 或者计算结束后的返回值。currentValue 必需。当前元素currentIndex 可选。当前元素的索引arr 可选。当前元素所属的数组对象。
reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。
- indexOf()和lastIndexOf()
indexOf()搜索第一个符合值得索引,没有返回-1,lastIndexOf()寻找方向相反
7.类数组对象
javascript数组特性
- 当有新元素添加到列表时,自动更新length
- 设置较小length时将截断数组
- 会从Array.prototype中继承一些方法
- 其类属性为“Array
类数组举例:arguments
- 在es5中所有的数组方法都是通用的
8.作为数组的字符串
比如可以这样访问某个字符串
var a='abcdefg';alert(a[0]); //a
- 我的javascript权威指南-6
- 我的javascript权威指南-5
- 我的javascript权威指南-7
- 我的javascript权威指南-8
- 我的javascript权威指南-9
- 我的javascript权威指南-10
- 我的javascript权威指南-11
- 我的javascript权威指南-12
- 我的javascript权威指南-13
- javascript权威指南(6)
- javascript权威指南 锋利的jquery css权威指南
- javascript权威指南的一点总结
- javaScript权威指南之类的创建
- JavaScript权威指南(第6版)
- JavaScript权威指南(第6版)
- JavaScript权威指南(第6版)(中文版)
- [Books]《Javascript权威指南》-- #6~12
- 《Javascript权威指南-第6版》读书笔记
- LeetCode||76. Minimum Window Substring
- 尾递归优化(es6)
- vim 如何快速复制多行
- 通过代理访问进行了安全性设置的服务
- linux双网卡绑定
- 我的javascript权威指南-6
- robots.txt SEO 与搜索引擎
- 指定数组同时指定要查找的数,找出这个数在数组中的起始位置和结束位置
- 一、正确姿势搭建maven+web项目
- 小波理解
- 对可空类型使用as操作符
- CXF客户端添加header权限认证
- 使用LVS实现负载均衡原理及安装配置详解
- Spring JdbcTemplate打印执行的SQL语句