1.检测数组

①Instanceof:

if(value instanceof Array){
}

它假定只有一个全局执行环境,若网页中包含多个框架,则存在多个不同的全局执行环境,则Instanceof不能正确检测;

② Array.isArray()

无论几个全局执行环境都可以;

if(Array.isArray(value)){
}

2.转换方法

③ toString()

会返回数组的每个值拼接起来的字符串(以逗号分隔);不会影响原数组;

var colors=['red','black','blue'];
colors.toString();//red,black,blue

④  valueOf()

返回数组; 不会影响原数组;

var colors=['red','black','blue'];
colors.valueOf();// ["red", "black", "blue"]
var colors=['red','black','blue'];
alert(colors.valueOf());//red,black,blue
//因为alert()要接受字符串参数,所以其会在后台调用toString()方法,所以弹出的是字符串

⑤ toLocaleString()

与上两个相同;

⑥ join()

接收一个参数,用作字符串的分隔符,返回字符串; 不会影响原数组;

var colors=['red','black','blue'];
colors.join('||');// red||black||blue

3.栈方法

⑦  push()

将接受到的参数添加到数组末尾,返回字符串的长度; 影响原数组;

var colors=['red','black','blue'];
colors.push('green','pink'); //5

⑧ pop()

移除数组末尾的最后一项,返回移除的项;影响原数组;

var colors=['red','black','blue'];
colors.pop(); //blue

pop()和push()结合使用,可以实现队列方法;

4.队列方法

⑨ shift()

移除数组的第一项,并返回该项;影响原数组;

1 var colors=['red','black','blue'];
2 colors.shift(); //red

⑩  push()

shift()和push()结合使用,可以实现队列方法;

11.  unshift()

将接受到的参数添加到数组前端,返回字符串的长度;

var colors=['red','black','blue'];
colors.unshift("green"); //4

5.重排序方法

12.  reverse()

反转数组项顺序,改变数组本身,返回数组本身;;

var number=[1,2,3,5,4];
value=number.reverse(); //[4, 5, 3, 2, 1]
console.log(value) // [4, 5, 3, 2, 1]
console.log(number) // [4, 5, 3, 2, 1]

13.sort()

改变数组本身的值,返回数组本身;

var number=[1,2,3,5,4];
value=number.sort(compare); //[1,2,3,4,5 ]
function compare(a,b){
return a-b;
}
console.log(number); //[1, 2, 3, 4, 5]

6.操作方法

14.  concat()

连接几个数组,返回新构建的数组;不会影响数组本身;

var colors=['red','black','blue'],col=["pink","green"],colo=['brown'];

 colors.concat(col,colo,'yellow');
//["red", "black", "blue", "pink", "green", "brown", "yellow"]

15. slice()

接受1或2个参数,即返回项的起始和结束位置;不会影响数组本身;

var colors=['red','black','blue'];
colors.slice(1,2); //["black"]
colors.slice(1); // ["black", "blue"]

16. splice()

原数组随之改变;返回删除的项(数组形式),若未删除则返回空数组;

输入2个参数: 起始位置和要删除的数组长度;

删除:

var colors=['red','black','blue'];
colors.splice(1,2); //["black", "blue"]
console.log(colors); //["red"]

输入3个参数:

插入:  起始位置,要删除的数组长度(0),要插入的项;

var colors=['red','black','blue'];
colors.splice(1,0,'green'); //[]
console.log(colors); //["red", "green", "black", "blue"]

替换: 起始位置,要删除的数组长度,要插入的项;

var colors=['red','black','blue'];
colors.splice(1,1,'green','purple'); //["black"]
console.log(colors); //["red", "green", "purple", "blue"]

7.位置方法

17.  indexOf() :从开头往后查找

输入:要查找的项和(查找起点位置的索引){默认为0};返回要查找的项在数组中的位置;

var colors=['red','black','blue','black','green'];
colors.indexOf('black'); //1
colors.indexOf('black',2); //3

18.lastIndexOf() :从末尾往前查找

输入:要查找的项和(查找起点位置的索引){默认为length-1};返回要查找的项在数组中的位置;

var colors=['red','black','blue','black','green'];
colors.lastIndexOf('black'); //3
colors.lastIndexOf('black',2); //1

8.迭代方法

every(),filter()…

http://www.cnblogs.com/sunmarvell/p/8674935.html

9.归并方法

24  reduce()

迭代数组的所有项,构建一个最终返回值; 不改变原数组的值

从第一项开始,逐个遍历到最后;

var number=[1,2,3,5,4];
value=number.reduce(compare); //-13
function compare(a,b){
return a-b;
}
console.log(number); //[1,2,3,5,4]

25  reduceRight()

迭代数组的所有项,构建一个最终返回值; 不改变原数组的值

从最后一项开始,逐个遍历到第一项;

var number=[1,2,3,5,4];
value=number.reduceRight(compare); //-7
function compare(a,b){
return a-b;
}
console.log(number); //[1,2,3,5,4]

js数组的各种方法的更多相关文章

  1. js数组去重的方法(转)

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  2. js数组高阶方法reduce经典用法代码分享

    以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要 ...

  3. JS —— 数组与字符串方法

    数组 1. 基本方法  1)Array.prototype.unshift(item1,item2,item3...) 描述: 在数组的前面添加元素,一次可以传入多个参数. 注意:元素会根据当前传入的 ...

  4. JS 数组常用的方法

    数组常用的方法: x.toString()方法:任何对象都有toString方法.        将任何对象转为字符串. 一般不主动调用,系统在需要时自动调用 x.valueOf()方法:同toStr ...

  5. js数组的forEach方法能不能修改数组的值

    如果要使用数组的forEach()方法对其改值时,需要直接通过arr[i]这种方式来更改. 请看下面代码: // 数组改值 let arr = [1,3,5,7,9]; arr.forEach(fun ...

  6. Js 数组的各种方法及操作

    一.数组去重 var arr = [0,1,20,3,0,45,6,0]; Array.prototype.unrepeat = function(){ var array = []; for(var ...

  7. js数组之迭代方法

      ES5为数组对象定义了5个迭代方法(即递归,简单的说就是自己可以调用自己). 每个方法接收两个参数:要在每一项上运行的函数(接收3个参数:数组项的值,该项在数组中的位置,数组对象本身)和(可选的) ...

  8. js数组声明+split()方法

    split()方法:var words = sentence.split(' '): "hello".split("", 3) //可返回 ["h&q ...

  9. js 数组中的方法

    <!DOCTYPE html><html><head> <title>数组的方法</title> <meta charset=&quo ...

  10. 两种js数组去重的方法

    方法一: 新建一个数组,遍历原数组,在新数组内用IndexOf查找原数组内的每一项,如果没有找到,则添加到其中 代码如下: function arrayNew(arrs ){ var newArray ...

随机推荐

  1. java常用工具类 - 全角转半角、半角转全角

    全角转半角.半角转全角代码 /** * <PRE> * 提供对字符串的全角->半角,半角->全角转换 * codingwhy.com * </PRE> */ pub ...

  2. react 执行 yarn build 页面无法显示

    资源文件路径问题 如果你使用create-react-app创建项目,执行命令 yarn build 后,直接以静态方式打开build文件夹内的index.html,会看到页面显示出现问题,打开con ...

  3. js 获取函数的所有参数名

    具体思路: 利用Function.toString()方法,获取到函数的源码,再利用正则匹配获取到参数名字. 实现代码(代码基于ES6): // 获取函数的参数名 function getParame ...

  4. beego4---web项目结构

    app.conf appname = blog1 httpport = runmode = dev controllersmy package controllersmy //跟外面的包名一致 imp ...

  5. YTU 2636: B3 指向基类的指针访问派生类的成员函数

    2636: B3 指向基类的指针访问派生类的成员函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 433  解决: 141 题目描述 领导类(Leader)和工程师类(Engineer ...

  6. [翻译]NUnit--前言(一)

    前言: 翻译这个系列主要是自己在学习NUnit之时看英文文档大部分能看懂但是有些还是功底不足,所以在方便自己以后再学习的时候可以快速查找,也能够加深印象以及掌握的更好.同时在搜索网上关于NUnit系列 ...

  7. c# IP从192.168.1.1转成int类型

    找了一些资料,总结如下: 方法1 .net提供的方法转换IP地址 //字符串转换为数字 System.Net.IPAddress ipaddress = System.Net.IPAddress.Pa ...

  8. [置顶][终极精简版][图解]Nginx搭建flv mp4流媒体服务器

    花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用 ...

  9. Eclipse中直接执行sql语句(图文说明)

    转自:https://blog.csdn.net/changjyzzu/article/details/45487847 1.首先新建sql文件,然后打开文件 22.右键点击空白处,点击set-con ...

  10. Commons-FileUpload 常用API

    ServerFileUpload类的常用方法 方法名称 方法描述 public void setSizeMax(long sizeMax) 设置请求信息实体内容的最大允许的字节数 public Lis ...