【笔记】 《js权威指南》- 第7章 数组
2016-04-03 10:10
477 查看
1.数组方法:
(1). reverse(): 将调用方法的数组内容倒序,并不是复制副本;
(2). sort():
默认字母表排序,参数可以传递一个比较函数,在这个函数中的参数1如果小于参数2,那么返回负数,如果大于那么返回正数,如果对相等的顺序没有要求,返回0;
2.ECMAS5方法:
(1). forEach:
为每个数组元素调用函数,该函数包含三个参数, 数组元素的值,索引,数组的引用,
forEach模拟for循环break:
(2). map:
将调用的数组的每个元素传递给一个函数处理,并反会一个新数组,它包含该函数的返回值:
(3). filter():
将数组元素传递给一个函数,该函数返回的布尔值决定此元素是否存在于返回的数组中:
(4). every():
是否数组中的所有元素都符合某一标准:
(5). some():
是否有部分符合标准,或者用于判断全部不符合:
(6). reduce(), reduceRight():
第一个参数为函数:从左往右或从右往左执行函数,函数的两个参数分别为前一次函数执行的返回值以及下一个迭代的元素,将两个参数执行操作并返回一个值;
第二个参数传入一个初始值;
(7). indexOf()和lastIndexOf():
从头或者从尾端搜索数组中第一个符合给定值的索引,第一个参数表示给定值,第二个参数指定从第几个索引开始搜索。
3.判断是否是数组:
4.
(1). reverse(): 将调用方法的数组内容倒序,并不是复制副本;
(2). sort():
默认字母表排序,参数可以传递一个比较函数,在这个函数中的参数1如果小于参数2,那么返回负数,如果大于那么返回正数,如果对相等的顺序没有要求,返回0;
a.sort(function(a, b) { return a - b; })
2.ECMAS5方法:
(1). forEach:
为每个数组元素调用函数,该函数包含三个参数, 数组元素的值,索引,数组的引用,
data.forEach(function(v, i, a){a[i] = v + 1;});
forEach模拟for循环break:
function foreach(a, f, t) { try { a.forEach(f, t); } catch(e) { if (e === foreach.break) return; else throw e; } } foreach.break = new Error("StopIreration");
(2). map:
将调用的数组的每个元素传递给一个函数处理,并反会一个新数组,它包含该函数的返回值:
a = [1, 2, 3]; b = a.map(function(x) {return x * x;});
(3). filter():
将数组元素传递给一个函数,该函数返回的布尔值决定此元素是否存在于返回的数组中:
a = [1, 2, 3]; b = a.filter(function(x){return x < 2;});
(4). every():
是否数组中的所有元素都符合某一标准:
a = [1, 2, 3, 4, 5]; //true a.every(function(x) {return x < 10});
(5). some():
是否有部分符合标准,或者用于判断全部不符合:
(6). reduce(), reduceRight():
第一个参数为函数:从左往右或从右往左执行函数,函数的两个参数分别为前一次函数执行的返回值以及下一个迭代的元素,将两个参数执行操作并返回一个值;
第二个参数传入一个初始值;
var a = [1, 2, 3, 4, 5]; var sum = a.reduce(function(x, y){return x + y;}, 0);
(7). indexOf()和lastIndexOf():
从头或者从尾端搜索数组中第一个符合给定值的索引,第一个参数表示给定值,第二个参数指定从第几个索引开始搜索。
3.判断是否是数组:
//ECMAS5 Array.isArray(arr); //ECMAS3 var isArray = Array.isArray || function(o) { return typeof o === "object" && Object.prototype.toString.call(o) === "[object Array]"; }
4.
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享