1. 数组创建的方式
    1. var str = new Array();放入数字即为设置数组长度
    2. var str = [];
    3. 数组的length可读可写
  2. 监测数组
    1. Array.isArray()方法确定某个值是不是数组,兼容的浏览器为IE9+、ff4+、sf5+、O10.5+、chrome
  3. 转换方法
    1. toString()方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分割的字符串。
    2. value Of()方法返回数组。(alert要接收字符串参数,当传给它数组时,会在后台调用toString()方法)
    3. toLocaleString()创建一个数组值的以逗号分隔的字符串。对每一项调用toLocalString()方法。
    4. join(),接收一个参数用接收的字符串做分隔符,分割数组为一个字符串,并返回这个字符串。
    5. 若数组中某一项为null或者undefined,那么该值在以上方法返回的结果中以空字符串表示。
  4. 栈方法(后进先出)
    1. push()方法接收任意参数,并将其逐个添加到数组末尾,并返回修改后的数组长度。
    2. pop()方法从数组末尾移除最后一项,减少length值,返回移除的项。
  5. 队列方法(先进先出)
    1. shift()方法,移除数组中的第一项并返回该项,长度减一。
    2. push()
    3. unshift(),在数组前端添加任意个项,并返回新的数组长度。
  6. 重排序方法
    1. reverse()方法,反转数组顺序。var value =[1,2,3,4];value.reverse();
    2. sort(),以升序排列数组。sort()方法调用每个数组项的toString()方法,然后比较得到的字符串。Sort()方法接受一个比较函数作为参数,若参数一应位于参数二之前,则返回负数。以此类推
  7. 操作方法
    1. concat()方法,复制当前数组,将参数添加到末尾,返回新的数组。
    2. slice()方法:①只有一个参数时,该方法返回从该参数指定位置到数组末尾的所有项。

      ②有两个参数时,返回起始位置与结束位置的项,不包括结束的项。该方法不影响原数组。

      ③若参数中存在负数,用数组长度加上负数决定位置。若起始位置大于结束位置,则返回空数组。

    3. splice()方法:①删除:参数一:要删除的第一项的位置。参数二:要删除的项数。

      ②插入:参数一:起始位置。参数二:要删除的项数(0)。参数三:要插入的项(可以插入多各项,作为更多的参数)

      ③替换:参数一:起始位置。参数二:要删除的项数(0)。参数三:要插入的项(可以插入多各项,作为更多的参数)

      该方法始终返回一个数组,数组包含从原始数组中删除的项,若未删除,则为空数组。

    4. 位置方法:
      1. indexOf():参数一:要查找的项。参数二:查找的起点位置(要求查找的项必须严格相等)。从头查找
      2. lastIndexOf():参数一:要查找的项。参数二:查找的起点位置(要求查找的项必须严格相等)。从末尾查找
    5. 迭代方法:参数一:要在每一项上运行的函数(该函数有三个参数(数组项的值,该项在数组中的位置,数组本身))

      参数二:运行该函数的作用域对象(可选)

      ①every()方法,对数组的每一项运行该函数,若函数对每一项都返回true,则方法返回true。

      ②filter()方法,对数组的每一项运行该函数,将返回true的每一项组成数组并返回。

      ③forEach()方法,对数组每一项运行该函数,无返回值。

      ④map()方法,对数组的每一项运行该函数,返回每次函数调用的结果组成的数组。

      ⑤some()方法,对数组的每一项运行该函数,若函数对任一项返回true,6则返回true。

    6. 归并方法:迭代数组所有的项,然后构建一个最终返回的值。

      接收两个参数(每一项上调用的函数(前一个值,当前值,项的索引,数组),作为归并基础的初始值(可选))。这个函数返回的任何值都会作为第一个参数自动传给下一项。

      reduce()从头迭代。

      reduceRight()从尾迭代

      高程3—P97页

 

JS高级程序设计学习笔记之数组的更多相关文章

  1. JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺

    一.语法: 区分大小写; 2.标识符:就是指变量.函数.属性的名字,或者函数的参数 a.标志符的规则:①第一个字符必须是一个字母.下划线(_)或一个美元符号($).                   ...

  2. JS高级程序设计学习笔记1

    javascript产生的原因: 在拨号上网时代,表单数据必须发送到服务器端才能验证输入值得有效性,JavaScript的研发就是为了解决这个问题,以便在客户端就验证输入值的有效性. ECMAScri ...

  3. JS高级程序设计学习笔记之RegExp类型

    创建正则表达式: 字面量形式定义正则表达式: Var expression = / pattern /flags ;pattern部分可以使任意简单或复杂的正则表达式.每个正则表达式可以带有一个或多个 ...

  4. JS高级程序设计学习笔记——继承

    我们知道,在OO语言中,继承可分为接口继承和实现继承.而ECMAScript的函数没有签名,不能实现“接口继承”,只能通过原型链实现“实现继承”. 在学习了各种继承模式之后,简单总结一下各种继承模式的 ...

  5. JS高级程序设计学习笔记之基本包装类型

    概述 基本类型:string.boolean.number 每当读取一个基本类型的值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据. 使用new操作符创建的 ...

  6. JS高级程序设计学习笔记之Date类型

    日期对象的创建:var now =new Date(),不传递参数时,对象自动获取当前时间.(若要创建特定日期与时间的对象,必须传入该日期距离1970/1/1零点的毫秒数). Date.parse() ...

  7. JS高级程序设计学习笔记之JS事件(1)

    事件流 冒泡 定义:事件开始时由最具体的元素接收,然后逐级上传到较为不具体的节点.(IE9.FF.Chrome.Safari会将事件一直冒泡到window对象.IE5.5及其以下会跳过<html ...

  8. 《JS高级程序设计》笔记 —— 解析查询字符串

    今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...

  9. JavaScript高级程序设计---学习笔记(一)

    今天,2017.3.17开始利用课余时间仔细学习<JavaScript高级程序设计>,将需要掌握的知识点记录下来,争取把书里的所有代码敲一遍并掌握. 1.标识符命名最好是第一个字母小写,剩 ...

随机推荐

  1. 关于一个下载的源代码中的”*.vssscc“文件的问题

    今天下载了一份程序的源代码,老是提示我要连接源代码管理服务器,这个……你的账号密码我怎么知道,有木有.于是上网搜罗了一番找来了解决方案,在这里分享给可能出现同样问题的童鞋. 首先说明一下什么是vsss ...

  2. EasyUI中使用Uploadity问题

    <div id="UploadPage" class="easyui-layout" fit="true"> <div r ...

  3. C#高级知识点概要(1) - 委托和事件

    本文目录: 委托 委托的简单使用 用委托实现插件式编程 多播委托 静态方法和实例方法对于委托的区别 泛型委托 Func 和 Action 委托 委托的兼容 事件 事件的基本使用 事件的标准模式 委托 ...

  4. ZOJ3557 How Many Sets II( Lucas定理)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud How Many Sets II Time Limit: 2 Seconds    ...

  5. Redis VS Memcached 转载

    引子: 在大数据时代,总希望存在一个Key-value存储机制,像HashMap一样在内存中处理大量(千万数量级)的key-value对,以便提高数据查找.修改速度. 所以,我们会想到,Memcach ...

  6. Android MVP模式 简单易懂的介绍方式

    主要学习这位大神的博客:简而易懂 Android MVP模式 简单易懂的介绍方式 https://segmentfault.com/a/1190000003927200

  7. iOS 的 APP 在系统中如何适配不同的屏幕的尺寸

    iOS 的 APP 在系统中如何适配不同的屏幕的尺寸 标签: 2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone ...

  8. ulimit -t 引起的kill血案

    http://my.oschina.net/leejun2005/blog/80975 http://www.cnblogs.com/hazir/p/systemtap_introduction.ht ...

  9. 减少芯片失效:芯片焊接(die Attach)工艺优化

    在器件的生产过程中,芯片焊接是封装过程中的重点控制工序.此工艺的目的是将芯片通过融化的合金焊料粘结在引线框架上,使芯片的集电极与引线框架的散热片形成良好的欧姆接触和散热通路.由于固体表面的复杂性和粘结 ...

  10. win10系统加载ahci驱动的操作方案(Win10之家)

    win10系统使用的过程中很多用户会想要加载ahci驱动,但是大部分用户根本不知道怎么操作加载ahci驱动,这样的话很多用户会遇到一些问题,那如果使用的过程中想要加载ahci驱动的话我们应该怎么操作呢 ...