js高级程序设计——数组方法总结

1.栈方法

  特点:后进先出

  push():接收任意数量的参数把他们添加到数组的末尾,返回值为修改后数组的长度。

  pop():从数组的末尾移除最后一项,减少数组的length值,并返回被移除的项。

2.队列方法

  特点:先进先出

  push():接收任意数量的参数把他们添加到数组的末尾,返回值为修改后数组的长度。

  shift():移除数组中的第一个项并返回该项,减少数组的长度值。

  unshift():在数组的前端添加任意的项,并返回数组长度。

3.重排序方法

  reverse():反转数组的顺序,返回值是经过排序以后的数组,原数组会被改变。

  sort():排序数组,返回值是经过排序以后的数组,原数组会被改变。

4.操作方法

  concat():创建一个数组的副本,把参数添加到副本末端,不会改变原数组,返回值是改变后的新数组。

  slice():接收2个参数,代表数组的起始位置和结束位置,不会影响原数组,返回值是起始项到结束项之间的值组成的数组,但不包括结束项,如果不设置结束项,则返回从起始项开始往后的所有值。

  splice():splice(起始位置,要删除的项数,插入的项)改变原数组,返回被删除的项,没有删除项则返回一个空数组。

5.位置方法

  indexOf(要查找的项,查找的位置起始索引):返回值为所查找的项位置索引。

  lastIndexOf(要查找的项,查找的位置起始索引):返回值为查找的项位置索引。

6.迭代方法

   every():对数组的每一项运行给定函数,如果每一项返回true则返回true。

  filter():对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组。

  forEach():对数组的每一项运行给定函数,这个方法没有返回值。

  map():对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组。

  some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。

  以上方法都不会修改原数组。

  方法的函数接收三个值,item(数组项)、index(项的索引)、array(数组对象)

7.归并方法

  reduce():

  reduceRight():

  两个方法都会迭代数组的所有项然后返回一个最终值。两个方法都接收4个参数。prev(前一个值)、cur(当前值)、index(项的索引)、array(数组对象)。

方法的函数返回的任何值都会作为第一个参数自动传递给下一项。

时间: 2024-08-29 09:34:51

js高级程序设计——数组方法总结的相关文章

js高级程序设计数组的一些方法

数组的栈方法: 栈是一种 LIFO(Last-In-First-Out, 后进先出)的数据结构,也就是最新添加的项最早被移除. 而栈中项的插入(叫做推入)和移除(叫做 弹出),只发生在一个位置--栈的顶部. ECMAScript 为数组专门提供了 push()和 pop()方法,以便 实现类似栈的行为. var colors = new Array(); // 创建一个数组 var count = colors.push("red", "green"); // 推入

读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

读书笔记 - js高级程序设计 - 第十三章 事件 canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好 有时候即使浏览器支持,操作系统如果缺缺乏必要的绘图驱动程序,则浏览器即使支持了也没用   <canvas> var drawing = document.getElementById("drawing"); if( drawing.getContext ){ drawing.getContext("2d"

&lt;JS高级程序设计3&gt;_PART4

1.基本数据类型:Undefined,null,Number,String,Boolean.引用数据类型:保存在内存中的对象. 2.JS不允许直接访问内存中的位置,不能直接操作对象的内存空间.所以操作对象时,实际上是操作的对象的引用,而不是实际的对象. 3. var num1 = 1; var num2 = num1; 一个基本类型的变量向另一个赋值时,执行了复制操作,两个变量互不影响. var obj1 = new Object(); var obj2 = obj1; obj1.age = 2

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作.所有的DOM节点中都包含这两种方法,并且它们都接受3个参数:要处理的事件名.作为事件处理程序的函数和一个布尔值.最有这个布尔值参数是true,表示在捕获阶段调用事件处理程序:如果是false,表示在冒泡阶段调用事件处理程序. 要在按钮上为click事件添加事件处

&lt;JS高级程序设计3&gt;_PART3

1.ECMAScript中所有数都以IEEE-754 64位格式存储,但位操作符不直接操作64位的值.是先64位转换成32位的整数,再操作,得到结果再转成64位. 2.首位是符号位.之后的31位代表整数的值. 3.用toString(2)打印二进制,得到的是被处理过的二进制. 4.按位非(NOT)~,数转成二进制,取反.相当于把操作数先变负再-1; 5.按位与(AND)&,两个数的二进制,有一个0结果就是0,两个都是1才为1. 6.按位或(OR)|,有一个1结果为1,都是0才为0. 7.按位异或

js学习笔记——数组方法

join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1#2#3"; 如果没有指定分隔符,则默认为逗号 var str2=arr.join(); //str2="1,2,3"; reverse() 在原数组上把元素的顺序颠倒过来,并返回该数组 var arr=[1,2,3]; arr.reverse(); //arr=[3,2,1];

字符串方法,js中的数组方法,ES5新增的数组方法,以及jQuery中的数组方法

说明:本片主要对比介绍与数组操作相关的方法 (一)字符串方法(String对象方法) indexOf() //检索字符串 lastIndexOf() //从后向前搜索字符串 match() //找到一个或多个正则表达式的匹配 replace() //替换与正则表达式匹配的子串 search() //检索与正则表达式相匹配的值 slice() //提取字符串的片断,并在新的字符串中返回被提取的部分 split() //把字符串分割为字符串数组 substr() //从起始索引号提取字符串中指定数目

JS高级程序设计拾遗

<JavaScript高级程序设计(第三版)>反反复复看了好多遍了,这次复习作为2017年上半年的最后一次,将所有模糊的.记不清的地方记录下来,方便以后巩固. 0. <script>元素属性 async表示立即下载脚步,但不应该妨碍页面中其他操作: defer表示延迟到文档完全被解析和显示之后再执行.这两个属性都仅适用于外部脚步,而且现实中脚步不一定按顺序执行.指定async属性的目的是不让页面等待脚步下载和执行. 最好只包含一个延迟脚本,把延迟脚本放在页面最底部仍然是最佳选择.

js高级程序设计第4版(第5章)数据类型与算法

/** * Created by Administrator on 2015/7/11 0011. */ //引用类型:它的值是引用类型的一个实例(数据结构):用于将数据和功能组织起来,也称为类, //创建新对象 var person=new Object(); //这样创建了Object()一个实例,然后将这个实例赋值给person变量<它可以用于存储和传输数据> //创建object()方式,如下 var person=new Object(); //第2种通过键值对方式,如下 var p