数组的常用方法总结
 
不改变原数组
1、Array.length;                       //获取数组长度
2、Array.join();                         //将数组以传入的字符串进行拼接,返回拼接后的字符串,默认以“,”来拼接。
3、Array.concat();                    //可以向数组末尾添加传入的多个元素,或者是数组
4、Array.slice()                        //用于复制下数组的一部分,传入的两个参数分别指定开始和结束位置,负数则逆向的数。
5、Array.toString()                  //等同于Array.join(',');
6、Array.every(function(value,index,Array)) {} );     //用于对数组中的每个元素进行条件检测,全部满足则返回true,否则返回false;
7、Array.some(function(value,index,Array)) {} );    //用于对数组中的每个元素进行条件检测,只要有一个满足则返回true,否则返回false;
8、Array.filter(function(value,index,Array)) {} );     //用于筛选满足条件的数组元素,并将其构成新数组返回;
9、Array.map(function(value,index,Array)) {} );     //用于对数组中的每个元素进行修改,并返回其构成的新数组
10、Array.forEach(function(value,index,Array)) {} );              //用于对数组中的每个元素操作,没有返回值
11、Array.reduce(function(prev,cur,index,Array) {}, [init]);
 //迭代数组的所有项,然后构建一个最终的返回的值。第一个参数为处理函数,参数分别为前一个值、当前值、索引、数组。
 //第二个可选参数为初始值,如果省略,则为数组的首个元素
 //在空数组中,并且无初始值,会导致错误;
 //数组只有一个值,并且无初始值,或者为空数组但是有初始值,会返回那个值。
 //实例:
 var values = [1,2,3,4,5];
 var sum = values.reduce(function(prev, cur, index, values) {
        return prev + cur;
 });
 
12、Array.reduceRight(function(prev,cur,index,Array) {}, [init]);
 //与reduce方法作用相同,但是会从右端开始。
 
13、Array.indexOf(index,[start]);         //用于从开始位置(可选)查找指定的数组元素,返回其索引位置,查找不到则返回-1
14、Array.lastIndexOf(index,[start]);     //类似于indexOf方法,但是会从右端开始查找。
 
改变原数组
1、Array.reverse();       //将数组中的元素逆序,返回逆序的数组
2、Array.sort();          //排列数组元素,默认安字母表顺序排列,且大写字母排在小写字母的前面,返回排列后的数组
 拓展:排列数字  Array.sort(function(a, b) {
                                  return a - b;
                           });
  不区分大小写: Array.sort(function(a, b) {
                                   var m = a.toLowerCase(),
                                          n = b.toLowerCase();
                                   if(m > n) {
                                         return 1
                                    } else {
                                         return -1;
                                    }
                           });
 
3、Array.splice()          //用于在数组中插入或者删除元素,第一个参数指定删除元素的位置,第二个参数指定删除元素的个数,
                                     // 若舍去则删除后面所有的元素,第三个及以后的元素将在指定的位置处添加进数组中。该函数将返回
                                     // 所删除元素所组成的数组,若没有删除任何元素,则返回一个空数组。
 
4、Array.push()        //向数组末尾添加一个或多个元素,并且返回数组的长度。
5、Array.pop()         //删除数组末尾的一个元素,返回删除的元素
6、Array.unshift()     //向数组的头部添加一个或多个元素,并返回数组长度。
7、Array.shift()       //删除数组头部的一个元素,返回删除的元素
 

JS数组方法总结的更多相关文章

  1. js 数组方法比较

    js 数组方法比较 table th:first-of-type { width: 80px; } table th:nth-of-type(2) { width: 120px; } table th ...

  2. js数组方法详解

    Array对象的方法-25个 /*js数组方法详解 */ /* * 1 concat() 用于连接多个数组或者值-------------- * 2 copyWithin() 方法用于从数组的指定位置 ...

  3. 转载收藏(js数组方法大全)

    js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...

  4. js数组方法大全(上)

    # js数组方法大全(上) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 join() reverse() sort() concat() slice( ...

  5. js数组方法大全(下)

    # js数组方法大全(下) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 forEach() map() filer() every() some() ...

  6. JS数组方法汇总 array数组元素的添加和删除

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

  7. 几个关于js数组方法reduce的经典片段

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

  8. js数组方法详解(最新最全)

    数组是js中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响.本文所有的栗子都是在es7环境下测试的,如果有问题欢迎留言交流 ...

  9. js数组方法解析

    js 数组有很多方法,其中有的常用,有的不常用,归纳几个常用的方法,做个总结: 1. 转换方法: 1.1 valueOf():调用这个方法会返回数组本身 <script> var arr ...

  10. js数组方法

    数组方法清空数组1: arr.length=02: arr=[]arr.push()//往数组最后一个添加元素,会待会一个返回值,就是新的数组长度arr.unshift()//往数组的第一个添加元素, ...

随机推荐

  1. var 与function的权重浅析

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Dynamics CRM 2013 初体验(1):系统的安装

    最近收到Microsoft的Dynamics CRM 2013 beta测试邀请,终于让我掀开了它神秘的面纱.自从去年的Dynamics CRM 2012 December补丁包发布后,系统就添加了很 ...

  3. Canvas标签初探

    学了一点基础知识,感觉好神奇,全部练习代码 <html> <head> <meta http-equiv=Content-Type content="text/ ...

  4. AlarmManager类的应用(实现闹钟功能)

    1.AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用 ...

  5. BZOJ 1832: [AHOI2008]聚会( LCA )

    LCA模板题...不难发现一定是在某2个人的LCA处集合是最优的, 然后就3个LCA取个最小值就OK了. 距离就用深度去减一减就可以了. 时间复杂度O(N+MlogN) (树链剖分) -------- ...

  6. Scala学习之延迟绑定

    package com.swust.example object TraitDemo2 extends App{ //抽象类 abstract class Writer { def writeMess ...

  7. mysql中判断表中是否存在某条记录

    SELECT CASE WHEN EXISTS (SELECT * FROM usergroupmap WHERE groupId = groupIdIn AND userId = v_friendI ...

  8. IIS上不能播放mp4

    iis不支持mp4格式,需要手动添加. 进入iis服务管理器,打开你的网站,然后点击MIME类型---添加(扩展名:mp4   MIME类型:application/octet-stream) 如此即 ...

  9. HTML5 调用手机相册和摄像头的方法并上传微信下测试通过

    <input type="file" capture="camera" accept="image/*" id="camer ...

  10. OSG中的智能指针

    在OpenSceneGraph中,智能指针(Smart pointer)的概念指的是一种类的模板,它针对某一特定类型的对象(即Referenced类及其派生类)构建,提供了自己的管理模式,以避免因为用 ...