数组的转换方法

valueOf()方法,数组调用该方法后返回的还是原来的数组。

toString()方法,数组调用该方法后会调用每一项的toStirng()方法,之后将每一项拼接成一个以逗号分割的字符串。

toLocaleString()方法,把数组转换为本地字符串,这个方法与toString()方法的作用相同,大多数时候返回的结果也相同。调用的是每一项的toLocaleString()方法。

join()方法,同样是将数组转换为字符串,不穿参数或者参数为undefined的情况下,等同于toString()方法。传递参数将以特定的字符分隔。

数组的检测方法

instanceof构造函数,确定一个对象是否由相应的构造函数创建或者原型链继承自某个构造函数。

Array.isArray()方法,只为确定这个对象是否为数组。

Object.prototype.toString.call()方法,通过调用Object原型中的方法确定具体的对象类型。

数组的查找方法

indexOf()方法,查找数组的某一项,这里对比是否相等时,使用的是===(全等操作符),所以NaN不会与任何值相等,对象数组中的对象也要值和引用都相等。找到返回索引位置,未找到返回-1。

lastIndexOf()方法,和indexOf()方法相同,只不过前者从前向后,即查找第一次出现的位置,而后者从后向前,即查找最后一次出现的位置,两个方法可以接收第二个参数,为起始查找的位置。

数组的排序方法

reverse()方法,用于翻转数组。

sort()方法,排序数组,默认为字典序排序,在比较的时候比较的数组每个项的字符串所以对于排序后会出现不想要的结果。所以接收一个比较函数,这个比较函数接收两个参数,分别代表数组的项,如果第一个参数位于应该位于第二个参数之前返回一个负数,如果第一个参数应该在第二个参数之后返回一个正数,相等则返回0。

数组的栈方法(队列方法就是从后面添加从后面删除)

push()方法,用于向数组的末尾添加任意数量的新项,返回的是更新后数组的length值。

pop()方法,删除数组末尾的一项,返回的是删除的项,同时会更新数组的length值。

数组的队列方法(队列方法就是从后面添加从前面删除)

push()方法,用于实现从后面添加。

shift()方法,用于删除数组的第一项,返回的是删除的项,同时更新length值。

unshift()方法,与push()方法遥相呼应,unshift()方法用于项数组的前端添加任意的项数,返回更新后的length值。

数组的操作方法

concat()方法,接受数组或者其它数据类型,添加到数组的后端。

slice()方法,基于原始数组创建子数组,两个参数分别是,起始位置和结束位置(不包含),如果没有结束位置则到最后。

splice()方法,数组的万能方法,用于删除、添加、替换。

数组5个迭代方法

这五个方法都接两个参数,分别是一个函数和在那个作用域中运行影响this的值。这个函数可以接受三个参数,分别是数组的项、索引、数组本身。

every()方法,运行指定的函数,如果数组每一项都符合函数的执行条件则返回true。

some()方法,运行指定的函数,如果数组中有一项符合函数的执行条件则返回true。

filter()方法,运行指定的函数,返回符合函数执行条件后的数组。

map()方法,运行指定的函数,返回对每一项执行函数后结果的数组。

forEach()方法,与map()方法类似,没有返回值。

两个归并方法

这两个方法都接收两个参数,分别是一个函数和运行递归的初始值。这个函数接收四个参数,初始值(累加项)、当前值,索引和函数本身。

reduce()方法,从第一项开始。

reduce()方法,从最后一项开始。

以上这些方法能够改变原数组的有

reverse(),sort()

push(),pop()

unshift(),shift()

slice(),splice()

以上这些方法不能改变原数组的有

valueOf(),toString(),join(),toLocaleString()

indexOf(),lastIdexOf()

concat()

some(),every(),filter(),map(),forEach()

reduce(),reduceRight()

更详细的在:http://www.cnblogs.com/ghostff/articles/6397216.html

Array方法归类总结的更多相关文章

  1. js中Array方法归类解析

    为什么要对Array方法进行归类解析 因为它常用,而且面试必问 改变原数组的方法 pop 删除并返回数组最后一个元素push 从末尾给数组添加元素,返回新数组length值reverse 颠倒数组元素 ...

  2. S5中新增的Array方法详细说明

      ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...

  3. ES5中新增的Array方法详细说明

    一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如下: forEach (j ...

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

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

  5. 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例

    ES5中,一共有9个Array方法 Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.pr ...

  6. js Array 方法总结

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Javascript Array 方法整理

    Javascript Array 方法整理 Javascript 数组相关方法 说明 大多数其它编程语言不允许改变数组大小,越界访问索引会报错,但是 javascript不会报错,不过不建议直接修改a ...

  8. ECMAScript5中新增的Array方法实例详解

    ECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法.(注意兼容性) 在ES5中,一共有9个Array方法:http://kangax.githu ...

  9. JavaScript中Array方法总览

    title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...

随机推荐

  1. photoshop如何快速切图

    作为业余爱好,之前都是用比较笨的方法切图,甚至用裁剪工具一张一张的切. 后来知道用切片工具,但也仅限于互不重叠的图片. 在工作中实际使用时才发现实在是太慢了,慢到上级自己说你不用做了,我来吧. 其实, ...

  2. STM32的USART DMA传输(转)

    源:STM32的USART DMA传输 问题描述: 我有一个需求,AD采得一定数目的数据之后,由串口DMA发出,由于AD使用双缓冲,所以每次开始DMA的时候都需要重新设置开始的内存地址以及传输的数目( ...

  3. matlab unique 顺序不变

    对于一个向量,使用unique去重后会自动排序,为了保持原顺序: A = [5,1,8,5,2,8,3,9,6,1];[i,j] = unique(A,'first');B = A(sort(j)); ...

  4. 推荐一款非常好用的java反编译工具(转)

    源: 推荐一款非常好用的java反编译工具

  5. MVC 5学习总结笔记1

    01.使用MVC自带的DataAnnotations实现数据验证 public class ExternalLoginConfirmationViewModel { [Required] [Displ ...

  6. UVa 10473 - Simple Base Conversion

    题目大意:十进制与十六进制之间的相互转换. #include <cstdio> int main() { #ifdef LOCAL freopen("in", &quo ...

  7. Oracle数据库和实例的区别

    一般Oracle数据库(Oracle Database)可以分为两部分,即实例(Instance)和数据库(Database). 实例:是一个非固定的.基于内存的基本进程与内存结构.当服务器关闭后,实 ...

  8. struts配置文件和国际化

    一.加载包struts2-core-2.3.24.1.jar struts-default.xml :各种栈 org.apache.struts2 -->> default.propert ...

  9. linux环境下Vim的配置

    原文链接:http://blog.chinaunix.net/uid-26826958-id-3272375.html  (本文转自此链接中的部分内容,但做了适当修改) 安装vim命令:sudo ap ...

  10. Selenium2(java)页面对象模型(Page Object) 八

    在开发一个 Selenium WebDriver 测试,我们可以使用页面对象模型.这个模型可以使测 试脚本有更高的可维护性,减少了重复的代码,把页面抽象出来.对象模型也提供了一个注释,帮助缓存远程,避 ...