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

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. springcloud-provider-consumer-register

    作者:纯洁的微笑出处:http://www.ityouknow.com/ 版权归作者所有,转载请注明出处 上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注 ...

  2. 如何编译生成Linux-C静态链接库

    目标生成的静态库文件为:libnpcp.a 举例:我们有四个文件分别为:npcp.c npcp.h other.h main.c main.h在npcp.c里面#include "other ...

  3. ubuntu .deb .tar.gz .tar.bz2 .rmp 和命令方式安装软件的方法

    今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的".deb"格式的安装文件google-chrome-stable.deb双击后或者右键快捷 ...

  4. 基于Docker的GitLab搭建

    今天写一些Docker搭建GitLab,好久没有写博客园了,今天又回来了,为了学习技术? 建议使用Linux内核系统,或者虚拟机,首先安装docker环境(菜鸟教程) 一.下载镜像文件 如果慢的话,可 ...

  5. 转载:MyBatis mapper.xml中使用静态常量或者静态方法

    转自:https://my.oschina.net/wtslh/blog/682704 今天偶然之间刷到了这样一篇博客,有点意外 mybatis 还可以这样使用ONGL常量的方式,该方式针对 xml的 ...

  6. 使用抽象工厂反射获取不到Dal层对象,未能加载文件或程序集......

    Put aside the fog and see the essence 解决问题之前,要明白问题为什么会出现 我相信能点开这篇帖子的人,都是具有探索精神的人,因为,只有心存疑问才会搜索 如果只想单 ...

  7. [Spring cloud 一步步实现广告系统] 16. 增量索引实现以及投送数据到MQ(kafka)

    实现增量数据索引 上一节中,我们为实现增量索引的加载做了充足的准备,使用到mysql-binlog-connector-java 开源组件来实现MySQL 的binlog监听,关于binlog的相关知 ...

  8. Java虚拟机——Java内存区域

    1.运行时区域 Java虚拟机在执行Java程序的时候会把它管理的内厝划分为若干个不同功能的数据区域,如图所示 首先是程序计数器,程序计数器可以理解为当前程序执行的字节码的行号指示器,计数器中的数据即 ...

  9. 2019最新最全Java开发面试常见问题答案总结

    2019最新最全Java开发面试常见问题答案总结 马上准备9月份出去面试Java开发,自己学习丢西瓜捡芝麻,学了的都忘了,所以有机会自己做个学习笔记,摘录自各个博文以及总结. 1.JAVA面向对象的特 ...

  10. (二)对象以及变量的并发访问--synchronized的使用细节,用法

    具体的记录synchronized关键的各种使用方式,注意事项.感觉一步一步跟我来都可以看懂滴 大致是按照以下思路进行书写的.黑体字可以理解为结论, 1.synchronized锁的是什么? 2.sy ...