1: Array.isArray
判断是否为数组

  1. Array.isArray([1, 2, 3]); // true
  2. Array.isArray({foo: 123}); // false
  3.  
  4. // Polyfill
  5. if (!Array.isArray) {
  6. Array.isArray = function(arg) {
  7. return Object.prototype.toString.call(arg) === '[object Array]';
  8. };
  9. }

2:  forEach
array.forEach(callback,[ thisObject])

// 遍历数组里面的所有数字
// item 是值, i 是序号, array 是整个数组

  1. [1, 2 ,3, 4].forEach(function(item, i, array){
  2. /*
  3. 0 1 [1, 2, 3, 4]
  4. 1 2 [1, 2, 3, 4]
  5. 2 3 [1, 2, 3, 4]
  6. 3 4 [1, 2, 3, 4]
  7. */
  8.   console.log(i, item, array);
  9. });

第2个参数为上下文:

  1. var obj = {
  2.   arr: ['a', 'b', 'c', 'd'],
  3.   check: function(item, i, array){
  4.     console.log(this.arr[i]);
  5.   }
  6. }
  7. // 输出 a, b, c, d
  8. obj.arr.forEach(obj.check, obj);

3:  map
array.map(callback,[ thisObject]);

遍历数组,返回 return 的值组成新的数组

  1. var arr = [1, 2, 3, 4]; // arr 数组不变
  2. var newArr = arr.map(function (item, i, array) {
  3.   return item * item;
  4. }); // newArr 为 [1, 4, 9, 16]

4:  filter

返回值只要是弱等于== true/false, 就会放到新的数组里

  1. // 找到是偶数的数字
  2. var arr = [1,2,3,4,5]; // arr 数组不变
  3. var newArr = arr.filter(function(item, i){
  4. if(item % 2 == 0){
  5. return true;
  6. }else{
  7. return false;
  8. }
  9. }); // newArr 为 [2, 4]
  1. var data = [0, false, true, 1, 2, 3];
  2. var newArr = data.filter(function (item, i, array) {
  3.   return item;
  4. }); // newArr 为 [true, 1, 2, 3]

5:  some
返回Boolean值, true 或 false
  当callback 遍历每一个值的时候有一个值返回 true, 结束遍历, res就为true,
  若所有的都 返回false, res才为false

  1. // 下面的代码当遍历到 3时, 就不会继续遍历到 4了
  2. var arr = [1, 2, 3, 4]; // arr 数组不变
  3. var res = arr.some(function(item, i, array){
  4.   /*
  5.     1 0 [1, 2, 3, 4]
  6.     2 1 [1, 2, 3, 4]
  7.     3 2 [1, 2, 3, 4]
  8.   */
  9.   console.log(item, i, array);
  10.   return item > 2;
  11. });
  12. // res 的值为 true;

6:  every
返回Boolean值, true 或 false
  当callback 遍历每一个值的时候若有一个返回 false, 结束遍历, res为 false,
  若所有的 返回true, res才为true

  1. var arr = [1, 2, 3, 4]; // arr 数组不变
  2. var res = arr.every(function(item, i, array){
  3.   /*
  4.     1 0 [1, 2, 3, 4]
  5.   */
  6.   console.log(item, i, array);
  7.   return item > 2;
  8. });

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.

  1. // 简单复制
  2. var arr = [1, 2];
  3. var arrCopy = Array.from(arr);
  4. arrCopy[0] = 2;
  5. arr[0]; //
  6.  
  7. // 只能进行浅复制
  8. var arr = [{a: 1}, 2];
  9. var arrCopy = Array.from(arr);
  10. arrCopy[0].a; //
  11. arrCopy[0].a = 2;
  12. arr[0].a; //
  13.  
  14. // 转换 arguments 为数组
  15. var f = function(){
  16. // 或者 [].slice.apply(arguments);
  17. var arg = Array.from(arguments);
  18. console.log( Array.isArray(arg) );
  19. }
  20. 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).

  1. Array.of(7); // [7]
  2. Array.of(1, 2, 3); // [1, 2, 3]
  3.  
  4. Array(7); // [ , , , , , , ]
  5. Array(1, 2, 3); // [1, 2, 3]

参考链接:

MDN Array

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的更多相关文章

  1. ES5对Array增强的9个API

    为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...

  2. String方法,js中Array方法,ES5新增Array方法,以及jQuery中Array方法

    相关阅读:https://blog.csdn.net/u013185654/article/details/78498393 相关阅读:https://www.cnblogs.com/huangyin ...

  3. es5||es6 - array

    导航目录 /** * javascript - array * * ES5: * join() * push() * pop() * shift() * unshift() * sort() * re ...

  4. ES6,Array.includes()函数的用法

    在ES5,Array已经提供了indexOf用来查找某个元素的位置,如果不存在就返回-1,但是这个函数在判断数组是否包含某个元素时有两个小不足,第一个是它会返回-1和元素的位置来表示是否包含,在定位方 ...

  5. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  6. JavaScript 数组操作方法 和 ES5数组拓展

    JavaScript中数组有各种操作方法,以下通过举例来说明各种方法的使用: 数组操作方法 push 在数组最后添加一个元素 var arr=[3,4,5,6] console.log(arr) // ...

  7. ES6之Array.includes()函数

    一.定义 includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false. 二.语法 arr.includes(searchElement) arr.includ ...

  8. ES5和ES6数组方法

    ES5 方法 indexOf和lastIndexOf 都接受两个参数:查找的值.查找起始位置不存在,返回 -1 :存在,返回位置.indexOf 是从前往后查找, lastIndexOf 是从后往前查 ...

  9. es5和es6创建新数组的方法

    //es5 let array = Array(5) let array = [] //es6 1.let array = Array.of(1,2,3,4,5) 2.let array = Arra ...

随机推荐

  1. 撩下Cookie和Session

    Cookie Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读 ...

  2. 2017-2018-1 20179205《Linux内核原理与设计》第三周作业

    <Linux内核原理与分析>第三周作业 教材学习总结 第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种,是正在执行的程序代码的实时结果:线程,是在进程中活动的对象.而Linu ...

  3. ubuntu安装wifi

    因为需要测试app,但是自己本地是deepin.如果win下的话直接安装一个wifi万能管家啥的就完事儿了.可是这个是linux 有点不同.所以就进行百度学习了一波.特此分享. 需要用到的工具 hos ...

  4. html meta标签作用

    1.概要 标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他web服务. 必要属性: conten ...

  5. Python脚本 - 查询磁盘的读写次数信息

    测试系统为:Centos 6.7 Python版本为: 3.6.4 脚本功能:查看指定磁盘的读写及时间等相关信息 #!/usr/bin/env python3 from collections imp ...

  6. 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>     < ...

  7. Python3 文件基本操作

    Python文件的打开模式有: r,只读模式(默认).w,只写模式.[不可读:不存在则创建:存在则删除内容:]a,追加模式.[可读: 不存在则创建:存在则只追加内容:]"+" 表示 ...

  8. 【Python学习】使用Pyinstaller将py文件导出为exe文件

    PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,但是它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在 ...

  9. ifa_local 和 ifa_address

    ifa_local 和 ifa_address区别联系: 1. 在配置了支持广播的接口上,与IFA_LOCAL一样,同样表示本地ip地址: 2. 对于点对点链路,IFA_ADDRESS表示的是对端的地 ...

  10. rtems-os-source

    http://blog.csdn.net/xpx3216/article/details/5776941 http://tech.hqew.com/fangan_421204 https://gith ...