测试数组:testArrayA = ['a','b','c','d','e'] , testArrayB = [2,3,6,1]

1、删除数组最后一项(pop()):

  返回删除那一项的值:var pop = testArrayA.pop(); //pop = 'e';

2、删除数组第一项(shift()):

  返回删除那一项的值:var shift = testArrayA.shift(); //shift = 'a';

3、添加一个值到数组的最后一项(push(param)):

  返回添加值之后数组的长度:var pushLength = testArrayA.push('f'); //pushLength = testArrayA.length = 6;

4、添加一个值到数组的第一项(unshift(param)):

  返回添加值之后数组的长度:var unshiftLength = testArrayA.unshift('f'); //unshiftLength = testArrayA.length = 6;

5、数组反序排列(reverse()):

  返回反序后的数组:var reverseArray = testArrayA.reverse(); //reverseArray = ['e','d','c','b','a'];

6、数组转换字符串(join(param)):

  返回转换后的字符串:var joinString = testArrayA.join(''); //joinString = 'abcde'; 根据参数对数组进行连接

7、判断指定值是否在数组中存在(indexOf(param)):

  如果存在返回参数在数组中的位置,如果不存在返回-1:var indexOf = testArrayA.indexOf('e'); // indexOf = 4;

8、截取子数组(slice(start,end)) 备注:slice(start,end) 方法可从已有的数组中返回选定的子数组:

  start: 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

  end: 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

  返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素:

  说明: 请注意,该方法并不会修改数组,而是返回一个子数组(如果返回来的只有一个元素也可以当单个的值来进行比较)。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

9、截取子数组(splice(index,howmany,param1,param2...)) 备注:splice(index,howmany,param1,param2...)方法可从已有的数组中返回选定的子数组:

  说明:请注意,该方法会修改原数组,而返回一个子数组(如果返回来的只有一个元素也可以当单个的值来进行比较)

  index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

  howmany: 可选。规定从何处结束选取,如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。要删除的项目数量。如果设置为 0,则不会删除项目。

  说明:howmany 如果小于等于0,就不会删除元素。如果存在param,则只是在index开始插入。

  param1,param2... : 可选。把这些参数从index位置开始插入当前数组。

10、合并数组concat(paramArray):

  返回合并后的数组:var concatArray = testArrayA.concat(testArrayB); //concatArray = ['a','b','c','d','e',2,3,6,1];

11、数组排序(sort()自然排序生序):

  对数组进行排序:

  自然排序:var sortArray = testArrayB.sort();

  自定义排序:

  (1)升序:var sortArray = testArrayB.sort(function(obj1,obj2) {

    return obj1 - obj2;

  })

  (2)降序:var sortArray = testArrayB.sort(function(obj1,obj2) {

    return obj2 - obj1;

  })

  说明:如果obj1和obj2 则 return obj1.attr - obj2.attr;(按照对象obj1 和对象obj2)

  例如:

  <script>

    function Person(name,age) {

      this.name = name;

      this.age = age;  

    }

    var personArray = new Array();

    personArray.push(new Person('jiang',26));

    personArray.push(new Person('jiang1',23));

    personArray.push(new Person('jiang2',27));

    personArray.push(new Person('jiang3',24));

    var sortArray = personArray.sort(function(person1,person2) {

      return person1.age - person2.age;

    })

  </script>

    

  

  

javascript 数组方法解析的更多相关文章

  1. 【译】你应该了解的JavaScript数组方法

    让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...

  2. JavaScript数组常用方法解析和深层次js数组扁平化

    前言 数组作为在开发中常用的集合,除了for循环遍历以外,还有很多内置对象的方法,包括map,以及数组筛选元素filter等. 注:文章结尾处附深层次数组扁平化方法操作. 作为引用数据类型的一种,在处 ...

  3. JavaScript数组方法--every、some、fill

    接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...

  4. JavaScript数组方法大全(推荐)

    原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...

  5. JavaScript 数组方法处理字符串 prototype

    js中数组有许多方法,如join.map,reverse.字符串没有这些方法,可以“借用”数组的方法来处理字符串. <!doctype html> <html lang=" ...

  6. 2018.2.27 JavaScript数组方法应用

    JavaScript数组方法应用 1.找出元素item在给定数组arr中的位置 function indexOf(arr,item){ return arr.indexOf(item); } func ...

  7. JavaScript数组方法详解

    JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...

  8. JavaScript数组方法速查,32个数组的常用方法和属性

    JavaScript数组方法速查手册极简版 http://30ke.cn/doc/js-array-method JavaScript数组方法速查手册极简版中共收了32个数组的常用方法和属性,并根据方 ...

  9. JavaScript数组方法大集合

    JavaScript数组方法集合 本文总结一下js数组处理用到的所有的方法.自己做个笔记. 数组方法 concat() 合并两个或多个数组 concat()能合并两个或者多个数组,不会更改当前数组,而 ...

随机推荐

  1. Mockito使用注意事项

    已使用mockito有些问题.例如:配合可变长度参数.定义自己的参数匹配,在这些mockito官方文件(http://docs.mockito.googlecode.com/hg/latest/org ...

  2. Android有关Volley使用(十)至Request和Reponse意识

    我们知道,.网络Http沟通,会有一个Request,相同,也将有Response.我们Volley在使用RequestQueue来之前加入的请求.我们将创建一个Request对象,例StringRe ...

  3. tsung 对 openfire 压力测试

    tsung 对 openfire 压力测试   1. 参考 http://blog.csdn.net/foxisme2/article/details/7521139 http://blog.csdn ...

  4. C#/ASP.NET/AJAX

      C#/ASP.NET/AJAX ASP.NET 4.5新特性一:强类型数据绑定(Strongly-Type Data-Bindings) 摘要: 随着ASP.NET 4.5的发布提供了很多的新特性 ...

  5. ADFS 2.0 配置简介 PartⅡ – 配置 ADFS 信任关系

    ADFS 与应用程序间的各种验证是基于信任关系的,在 ADFS 服务器配置好要信赖的应用程序(以 URL 为标识)后,应用程序再通过指定认证服务器来将用户引导至 ADFS 登录页,登录完成后再将用户的 ...

  6. 动态操作表格行(兼容IE、火狐)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Javascript多线程引擎(七)

    Javascript多线程引擎(七)--synchronized关键字 经过两天的努力, 今天synchronzied关键字终于支持了, 如下是测试代码 thread() 是一个开启新线程的API, ...

  8. Node填坑教程——HelloWorld

    环境安装(极简): Node需要的环境可以说及其简单,也可以说及其复杂.为什么这么说呢? 如果里只需要运行环境那么到Node官网下载一个包就行了.里面自带npm管理工具,这是包管理工具,以后会频繁的使 ...

  9. 使用 ArcGIS Online和APP进行监控操作和数据采集

    主要介绍的App是Operations Dashboard for ArcGIS 和 Collector for ArcGIS,它们 提高了组织内日常操作的效率.精度和响应速度. 已经购买了 ArcG ...

  10. 把《C语言接口与实现》读薄之第一章:引言

    1.1文学程序 文学程序(literate program):接口及其实现的代码与对其进行解释的正文交织在一起.文学程序由英文正文和带标签的程序代码块组成.例如, 〈compute x * y〉≡ s ...