掌握如何操作数组,会让你的开发变得更加高效

1、栈和队列方法(以下四个方法都改变原数组)

arr.push()   //接受任意类型的参数,逐个添加到数组的末尾,并返回数组的长度   改变原数组
arr.pop() //从数组的末尾移除最后一项,减少数组的length值,返回移除的项
arr.shift() //移除数组中的第一个项并且返回该项,同时将数组的长度减一。
arr.unshift() //在数组的前端添加任意个项,并返回新数组的长度

2、排序

reverse()   //反转数组的排序   改变原数组 返回操作后的数组
sort() 排序(升序) //改变原数组 返回操作后的数组

3、截取方法

concat()  //数组拼接,返回拼接好的副本  不改变原数组
slice() //数组切割 一个参数:从该参数指定的起始位置截取到最后一位
    //两个参数:起始位置 和 结束位置 但截取不包含结束位置的项
      //注意:不改变原数组,返回值是 截取的数组项组成的数组
splice() //删除:指定两个参数(删除的起始位置,要删除的项数)
      //插入:指定三个参数(起始位置,0,要插入的项任意数量的项)
      //替换:指定三个参数(起始位置,要删除的项数,要插入的任意数量的项)

4、检索方法

indexOf()  //从数组开头向后查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置
lastIndexOf() //从数组末尾向前查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置

5、迭代方法(参数: 每一项上运行的函数,运行该函数的作用域对象即this指向(可选,以下的实例都没用第二个参数))

①every()

对数组中的每一运行给定的函数,如果该函数对每一项都返回true,则该函数返回true

eg:
var arr = [11,5,23,7,4,1,9,1];
var result = arr.every(function(item,index,arr){
  return item >2;
});
console.log(result); //false

②some()

对数组中的每一运行给定的函数,如果该函数对任一项都返回true,则返回true

eg:
var result = arr.every(function(item,index,arr){
return item >2;
});
console.log(result); //true

③filter()

对数组中的每一运行给定的函数,会返回满足该函数的项组成的数组

eg:
var result = arr.filter(function(item,index,arr){
return item >2;
});
console.log(result); // [11, 5, 23, 7, 4, 9]

④map()

对数组中的每一元素运行给定的函数,返回每次函数调用的结果组成的数组

eg:
var result = arr.map(function(item,index,arr){
return item * 2;
});
console.log(result); // [22, 10, 46, 14, 8, 2, 18, 2]

⑤forEach()

对数组中的每一元素运行给定的函数,没有返回值,常用来遍历元素

eg:
var result = arr.forEach(function(item,index,arr){
console.log(item);
});

6、数组序列化

toString() //在默认情况下都会以逗号分隔字符串的形式返回数组项
join(); //使用指定的字符串用来分隔数组字符串

javascript之操作数组方法的更多相关文章

  1. JavaScript中操作数组的方法

    JavaScript Array 对象 对数组操作的方法分为两种 一种是会改变原始数组的变异方法,还有一种是不会改变原始数组的非变异方法. 总结 巧记 Push() 尾部添加 pop() 尾部删除 U ...

  2. javascript常见操作数组的方法

    在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "obj ...

  3. javascript中常用数组方法详细讲解

    javascript中数组常用方法总结 1.join()方法: Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串.也可以指定可选的字符串在生成的字符串中来分隔 ...

  4. Javascript中遍历数组方法的性能对比

    Javascript中常见的遍历数组的方法 1.for循环 for(var i = 0; i < arr.length; i++) { // do something. } 2.for循环的改进 ...

  5. JavaScript 基础(六) 数组方法 闭包

    在一个对象中绑定函数,称为这个对象的方法.在JavaScript 中,对象的定义是这样的: var guagua = { name:'瓜瓜', birth:1990 }; 但是,如果我们给瓜瓜绑定一个 ...

  6. JS基本功 | JavaScript专题之数组 - 方法总结

    Array.map() 1.   map() 遍历数组 语法: let new_array = arr.map(function callback(currentValue, index, array ...

  7. Javascript中的数组方法总结

    1.concat():将两个或多个数组合并成一个数组 arrayObject.concat(arrayX,arrayX,......,arrayX),返回一个新的数据,arrayX可以是数值也可以是数 ...

  8. Javascript/Jquery操作数组,增删改查以及动态创建HTML元素

    <html> <head> <title> New Document </title> <script src="~/Scripts/j ...

  9. JavaScript字符串与数组方法整理

    字符串(String)的方法: 代码后面的都是返回值 var str = "atusdgafsvg"; var str1 = "123456789"; var ...

随机推荐

  1. .Net微信网页开发之使用微信JS-SDK调用微信扫一扫功能

    前言: 之前有个项目需要调用微信扫描二维码的功能,通过调用微信扫码二维码功能,然后去获取到系统中生成的二维码信息.正好微信JS-SDK提供了调用微信扫一扫的功能接口,下面让我们来看看是如何实现的吧. ...

  2. Spring源码分析之环境搭建

    写在最前面 最近突然心血来潮,想看看源码,看看大牛都怎么码代码,膜拜下.首选肯定是spring大法,于是说干就干,从GitHub上下载spring-framework源码编译拜读. 环境搭建 安装JD ...

  3. oracle查询截至到当前日期月份所在年份的所有月份

    SELECT to_number(TO_CHAR(add_months(trunc(sysdate, 'yy'), ROWNUM - 1), 'MM')) as month FROM DUALCONN ...

  4. Angular JS 中的内置方法之$watch

    在$apply方法中存在脏检查,首先apply方法会触发evel方法,当evel方法解析成功后,会去触发digest方法,digest方法会触发watch方法. $watch(watchFn,watc ...

  5. http协议(一):http协议基础知识

    1    协议类型 l  HTTP  超文本传输协议 通过浏览器和服务器进行数据交互,进行超文本(文本.图片.视频等)传输的规定 l  HTTPS 安全超文本传输协议 l  FTP 文本传输协议 l  ...

  6. 七分钟理解什么是 KMP 算法

    本文是介绍 什么是 BF算法.KMP算法.BM算法 三部曲之一. KMP算法 内部涉及到的数学原理与知识太多,本文只会对 KMP算法 的运行过程. 部分匹配表 .next数组 进行介绍,如果理解了这三 ...

  7. jenkins弱口令漏洞

    jenkins弱口令漏洞 一.漏洞描述 通过暴力破解管理控制台,如果爆破成功,可获得后台管理权限.操作后台,后台可通过脚本命令行功能执行系统命令,如反弹shell等,低权限可以通过创建控制台输出方式执 ...

  8. solr 新建core

    D:\tomcat\webapps\solr\solr_home 在该路径下创建一个新的core,所需文件和层级如下 test_core |-- conf |-- schema.xml |-- sol ...

  9. S2:类的构造函数

    类的构造函数构造函数名与类名形同,不返回任何值,主要完成对象的初始化工作. (1)在构造函数中,可以给属性设置默认值(2)this只带当前对象 (3)如果不给属性赋初始值,则会以默认值来填充.(4)如 ...

  10. 1、大型项目的接口自动化实践记录--robotframework环境搭建

    因为人力.团队技术问题,选用robotframework来做自动化,首先说下环境搭建 齐涛道长的入门教程非常棒:http://blog.csdn.net/tulituqi/article/detail ...