ES5 的 Array
1: Array.isArray
判断是否为数组
- Array.isArray([1, 2, 3]); // true
- Array.isArray({foo: 123}); // false
- // Polyfill
- if (!Array.isArray) {
- Array.isArray = function(arg) {
- return Object.prototype.toString.call(arg) === '[object Array]';
- };
- }
2: forEach
array.forEach(callback,[ thisObject])
// 遍历数组里面的所有数字
// item 是值, i 是序号, array 是整个数组
- [1, 2 ,3, 4].forEach(function(item, i, array){
- /*
- 0 1 [1, 2, 3, 4]
- 1 2 [1, 2, 3, 4]
- 2 3 [1, 2, 3, 4]
- 3 4 [1, 2, 3, 4]
- */
- console.log(i, item, array);
- });
第2个参数为上下文:
- var obj = {
- arr: ['a', 'b', 'c', 'd'],
- check: function(item, i, array){
- console.log(this.arr[i]);
- }
- }
- // 输出 a, b, c, d
- obj.arr.forEach(obj.check, obj);
3: map
array.map(callback,[ thisObject]);
遍历数组,返回 return 的值组成新的数组
- var arr = [1, 2, 3, 4]; // arr 数组不变
- var newArr = arr.map(function (item, i, array) {
- return item * item;
- }); // newArr 为 [1, 4, 9, 16]
4: filter
返回值只要是弱等于== true/false, 就会放到新的数组里
- // 找到是偶数的数字
- var arr = [1,2,3,4,5]; // arr 数组不变
- var newArr = arr.filter(function(item, i){
- if(item % 2 == 0){
- return true;
- }else{
- return false;
- }
- }); // newArr 为 [2, 4]
- var data = [0, false, true, 1, 2, 3];
- var newArr = data.filter(function (item, i, array) {
- return item;
- }); // newArr 为 [true, 1, 2, 3]
5: some
返回Boolean值, true 或 false
当callback 遍历每一个值的时候有一个值返回 true, 结束遍历, res就为true,
若所有的都 返回false, res才为false
- // 下面的代码当遍历到 3时, 就不会继续遍历到 4了
- var arr = [1, 2, 3, 4]; // arr 数组不变
- var res = arr.some(function(item, i, array){
- /*
- 1 0 [1, 2, 3, 4]
- 2 1 [1, 2, 3, 4]
- 3 2 [1, 2, 3, 4]
- */
- console.log(item, i, array);
- return item > 2;
- });
- // res 的值为 true;
6: every
返回Boolean值, true 或 false
当callback 遍历每一个值的时候若有一个返回 false, 结束遍历, res为 false,
若所有的 返回true, res才为true
- var arr = [1, 2, 3, 4]; // arr 数组不变
- var res = arr.every(function(item, i, array){
- /*
- 1 0 [1, 2, 3, 4]
- */
- console.log(item, i, array);
- return item > 2;
- });
7: reduce
8: reduceRight
9: Array.from (Android No support)
The Array.from() method creates a new Array instance from an array-like or iterable object.
- // 简单复制
- var arr = [1, 2];
- var arrCopy = Array.from(arr);
- arrCopy[0] = 2;
- arr[0]; //
- // 只能进行浅复制
- var arr = [{a: 1}, 2];
- var arrCopy = Array.from(arr);
- arrCopy[0].a; //
- arrCopy[0].a = 2;
- arr[0].a; //
- // 转换 arguments 为数组
- var f = function(){
- // 或者 [].slice.apply(arguments);
- var arg = Array.from(arguments);
- console.log( Array.isArray(arg) );
- }
- f(); // true
10: Array.of ( Android No support )
The Array.of()
method creates a new Array
instance with a variable number of arguments, regardless of number or type of the arguments.
The difference between Array.of()
and the Array
constructor is in the handling of integer arguments: Array.of(7)
creates an array with a single element, 7
, whereas Array(7)
creates an empty array with a length
property of 7 (Note: this implies an array of 7
empty slots, not slots with actual undefined
values).
- Array.of(7); // [7]
- Array.of(1, 2, 3); // [1, 2, 3]
- Array(7); // [ , , , , , , ]
- Array(1, 2, 3); // [1, 2, 3]
参考链接:
http://www.zhangxinxu.com/wordpress/2013/04/es5%E6%96%B0%E5%A2%9E%E6%95%B0%E7%BB%84%E6%96%B9%E6%B3%95/
ES5 的 Array的更多相关文章
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- String方法,js中Array方法,ES5新增Array方法,以及jQuery中Array方法
相关阅读:https://blog.csdn.net/u013185654/article/details/78498393 相关阅读:https://www.cnblogs.com/huangyin ...
- es5||es6 - array
导航目录 /** * javascript - array * * ES5: * join() * push() * pop() * shift() * unshift() * sort() * re ...
- ES6,Array.includes()函数的用法
在ES5,Array已经提供了indexOf用来查找某个元素的位置,如果不存在就返回-1,但是这个函数在判断数组是否包含某个元素时有两个小不足,第一个是它会返回-1和元素的位置来表示是否包含,在定位方 ...
- 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...
- JavaScript 数组操作方法 和 ES5数组拓展
JavaScript中数组有各种操作方法,以下通过举例来说明各种方法的使用: 数组操作方法 push 在数组最后添加一个元素 var arr=[3,4,5,6] console.log(arr) // ...
- ES6之Array.includes()函数
一.定义 includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false. 二.语法 arr.includes(searchElement) arr.includ ...
- ES5和ES6数组方法
ES5 方法 indexOf和lastIndexOf 都接受两个参数:查找的值.查找起始位置不存在,返回 -1 :存在,返回位置.indexOf 是从前往后查找, lastIndexOf 是从后往前查 ...
- es5和es6创建新数组的方法
//es5 let array = Array(5) let array = [] //es6 1.let array = Array.of(1,2,3,4,5) 2.let array = Arra ...
随机推荐
- 撩下Cookie和Session
Cookie Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读 ...
- 2017-2018-1 20179205《Linux内核原理与设计》第三周作业
<Linux内核原理与分析>第三周作业 教材学习总结 第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种,是正在执行的程序代码的实时结果:线程,是在进程中活动的对象.而Linu ...
- ubuntu安装wifi
因为需要测试app,但是自己本地是deepin.如果win下的话直接安装一个wifi万能管家啥的就完事儿了.可是这个是linux 有点不同.所以就进行百度学习了一波.特此分享. 需要用到的工具 hos ...
- html meta标签作用
1.概要 标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他web服务. 必要属性: conten ...
- Python脚本 - 查询磁盘的读写次数信息
测试系统为:Centos 6.7 Python版本为: 3.6.4 脚本功能:查看指定磁盘的读写及时间等相关信息 #!/usr/bin/env python3 from collections imp ...
- Python3 xml模块的增删改查
xml数据示例 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <data> < ...
- Python3 文件基本操作
Python文件的打开模式有: r,只读模式(默认).w,只写模式.[不可读:不存在则创建:存在则删除内容:]a,追加模式.[可读: 不存在则创建:存在则只追加内容:]"+" 表示 ...
- 【Python学习】使用Pyinstaller将py文件导出为exe文件
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,但是它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在 ...
- ifa_local 和 ifa_address
ifa_local 和 ifa_address区别联系: 1. 在配置了支持广播的接口上,与IFA_LOCAL一样,同样表示本地ip地址: 2. 对于点对点链路,IFA_ADDRESS表示的是对端的地 ...
- rtems-os-source
http://blog.csdn.net/xpx3216/article/details/5776941 http://tech.hqew.com/fangan_421204 https://gith ...