数组的常用方法总结
 
不改变原数组
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. 简单实现计算Edit Distance算法

    最近因为工作需要,学习了NLP的相关知识,简单动手实现了一下计算Edit Distance的算法,就是计算一个字符串要变成另一个字符串需要的代价,这其中采用Levenshtein方式,即规定一个插入和 ...

  2. hdu3280Equal Sum Partitions (区间DP)

    Problem Description An equal sum partition of a sequence of numbers is a grouping of the numbers (in ...

  3. ZOJ 3829 Known Notation (2014牡丹江H称号)

    主题链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do? problemId=5383 Known Notation Time Limit: 2 S ...

  4. Pat(Advanced Level)Practice--1043(Is It a Binary Search Tree)

    Pat1043代码 题目描写叙述: A Binary Search Tree (BST) is recursively defined as a binary tree which has the f ...

  5. img 中的src的应用

    在页面载入的时候,img标签的src 会跟填写的内容去载入,servlet 或者controller 或者你自己觉得希望载入的java代码. 我们这边举一个载入servlet的样例. <img ...

  6. malloc 申请得到的内存后,再 free 释放它的时候,操作系统会立即收回那块内存吗?

    stackoverflow上的回答: In many malloc/free implementations, free does normally not return the memory to  ...

  7. poj2987 Firing

    以前只是A过很简单的最大闭合权像hdu1565之类,完全的最大流模板题.但是都完全不太懂最大闭合权的定义及其用途. 关于最大流的基础知识,大家可以自己网上搜索关键字.有点基础的哥们妹们,推荐看看胡伯涛 ...

  8. 使用Docker官方的Django包【转】

    官方Django docker,并没有安装Django 所以需要 在requirements.txt中配置Django 具体安装流程可以参考:http://www.logme.cn/blog/51/u ...

  9. HBase shell 操作命令记录

    创建表:create 'tablename','column cluseter:column1,column2...columnn','column cluster:column1,column2.. ...

  10. DSP的cache一般在何时会生效,防止在cache使用造成数据不一致

    在使用DSP的cache使能所有的ddr操作时,发现如果只是写操作,根据cache的机制,如果没有在了L1级hit,则直接使用write buffer来完成写操作. 假如hit的话,那之前一定发生过读 ...