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

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. TreeMap 还能排序?分析下源码就明白了

    Java 中的 Map 是一种键值对映射,又被称为符号表或字典的数据结构,通常使用哈希表来实现,但也可使用二叉查找树.红黑树实现. HashMap 基于哈希表,但迭代时不是插入顺序 LinkedHas ...

  2. netty源码解解析(4.0)-16 ChannelHandler概览

    本章开始分析ChannelHandler实现代码.ChannelHandler是netty为开发者提供的实现定制业务的主要接口,开发者在使用netty时,最主要的工作就是实现自己的ChannelHan ...

  3. Python版:Selenium2.0之WebDriver学习总结_实例1

    Python版:Selenium2.0之WebDriver学习总结_实例1  快来加入群[python爬虫交流群](群号570070796),发现精彩内容. 实属转载:本人看的原文地址 :http:/ ...

  4. 【iOS】Updating local specs repositories

    使用 Pods 时遇到这个问题,原因是被墙了……需换成下面命令: pod install --verbose --no-repo-update

  5. hdoj 4715 Difference Between Primes 素数筛选+二分查找

    #include <string.h> #include <stdio.h> const int maxn = 1000006; bool vis[1000006]; int ...

  6. logging模块 旗舰版

    函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.warning(' ...

  7. Another option to bootup evidence files

    When it comes to booting up evidence files acquired from target disk, you got two options. One is VF ...

  8. dubbo文档笔记

    配置覆盖关系 以 timeout 为例,显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似: 方法级优先,接口级次之,全局配置再次之. 如果级别一样,则消费 ...

  9. SVG和canvas渲染的性能比较

    1.什么是SVG? 描述: 一种使用XML描述的2D图形的语言 SVG基于XML意味着,SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器. 在 SVG 中,每个被 ...

  10. JMS入门简介

    一.JMS是什么 1.JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中 ...