一、Array对象属性

1、length 设置或返回数组中元素的数目。

  数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。

例子:

<script type="text/javascript">
var arr = new Array(3)
arr[0] = "John"
arr[1] = "Andy"
arr[2] = "Wendy"
document.write("Original length: " + arr.length)
document.write("<br />")
arr.length=5
document.write("New length: " + arr.length)
</script>

输出:

Original length: 3
New length: 5

二、Array对象方法

1、contact()   连接两个或更多的数组,并返回结果。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

例子

在本例中,我们将把 concat() 中的参数连接到数组 a 中:

<script type="text/javascript">

var a = [1,2,3];
document.write(a.concat(4,5)); </script>

输出:

1,2,3,4,5

2、join() 把数组的所有元素放入一个字符串。

join() 方法用于把数组中的所有元素放入一个字符串。

元素是通过指定的分隔符进行分隔的。

例子1

  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var energy = fruits.join();

  energy输出结果:

  Banana,Orange,Apple,Mango
例子2

在本例中,我们将使用分隔符来分隔数组中的元素:

<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join("."))
</script>

输出:

George.John.Thomas

3、push 向数组的末尾添加一个或更多元素,并返回新的长度。

例子1

  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  fruits.push("Kiwi")

  fruits输出结果:

  Banana,Orange,Apple,Mango,Kiwi

例子2:

var arr1=[],arr2=[];
function arrtext(){
$.ajax({
type:"post",
async:false,
url:"{:U("Property/text")}",
data:{},
dataType:"json",
success:function(result){
if (result) {
  for (var i = 0; i < result.length; i++) {
    arr1.push(result[i].name); 
    arr2.push(result[i].age); 
  }
}

}
})
return arr1,arr2;
}

4、pop 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

例子:

<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr)
document.write("<br />")
document.write(arr.pop())
document.write("<br />")
document.write(arr)
</script>

输出:

George,John,Thomas
Thomas
George,John
5、reverse 颠倒数组中元素的顺序。
该方法会改变原来的数组,而不会创建新的数组。
例子1
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr + "<br />")
document.write(arr.reverse())
</script>

输出:

George,John,Thomas
Thomas,John,George 例子2 ,echarts的visualMap颜色配置

  inRange: {
    color: ['#d94e5d','#eac736','#50a3ba'].reverse(),
  }


6、map 通过指定函数处理数组的每个元素,并返回处理后的数组。
例子

返回一个数组,数组中元素为原始数组的平方根:

  <p>点击按钮获取数组元素的平方根。</p>
  <button onclick="myFunction()">点我</button>
  <p id="demo"></p>

  var numbers = [4, 9, 16, 25];

  function myFunction() {
      x = document.getElementById("demo")
      x.innerHTML = numbers.map(Math.sqrt);
  }

  输出结果为:

  2,3,4,5
 
7、slice() 从某个已有的数组返回选定的元素

语法

arrayObject.slice(start,end)
参数 描述
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

实例

例子 1

在本例中,我们将创建一个新数组,然后显示从其中选取的元素:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr + "<br />")
document.write(arr.slice(1) + "<br />")
document.write(arr) </script>

输出:

George,John,Thomas
John,Thomas
George,John,Thomas

 
8、sort() 对数组的元素进行排序
arrayObject.sort(sortby)
sortby 可选。规定排序顺序。必须是函数。

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。

实例

例子 1

在本例中,我们将创建一个数组,并按字母顺序进行排序:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin" document.write(arr + "<br />")
document.write(arr.sort()) </script>

输出:

George,John,Thomas,James,Adrew,Martin
Adrew,George,James,John,Martin,Thomas

例子 2

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
} var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")
document.write(arr.sort(sortNumber)) </script>

输出:

10,5,40,25,1000,1
1,5,10,25,40,1000

请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
} var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1" document.write(arr + "<br />")
document.write(arr.sort(sortNumber)) </script>

输出:

10,5,40,25,1000,1
1,5,10,25,40,1000
解释一下sorNumber()

sort的参数,为一个函数,那么这个函数接受2个参数,a, b

根据retrun a-b
这个函数在:
a == b 是为0
a > b 时为 1
a < b时 为-1
那么sort在排序的时候,根据冒泡排序,传递2个数进来
对于
arr[0] = "10"
arr[1] = "5"
那么 a=10 b=5,
显然a > b,那么sort根据这个函数返回的结构,就开始排了,
5, 10
那么第一次结束时: 5 10 40 25 1000 1
接下来:然后5 跟 40 25 1000 1排,
完了只有是: 1 10 40 25 1000 5
然后从10 开始,10 - 40 10 <->25 10 <-> 1000 10 <->5
结束后:1 5 40 25 1000 10
再40 : 1 5 10 25 1000 40
再 25 :
再 1000 : 1 5 10 25 40 1000
到此,最后一位就剩一个了,没有啥比较的了,排序完成

JavaScript Array 对象(length)方法 (contact、push,pop,join,map、reverse、slice、sort)的更多相关文章

  1. JavaScript Array 对象的方法,比如push和unshift

    https://www.runoob.com/jsref/jsref-obj-array.html js数组与字符串的相互转换 一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: ...

  2. JavaScript Array 对象扩展方法

    /** 删除数组中指定索引的数据 **/ Array.prototype.deleteAt = function (index) { if (index < 0) { return this; ...

  3. JavaScript 数组(Array)对象的方法

    JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...

  4. 浏览器端-W3School-浏览器端:JavaScript Array 对象

    ylbtech-浏览器端-W3School-浏览器端:JavaScript Array 对象 1.返回顶部 1. Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对 ...

  5. JavaScript Array 对象

    JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...

  6. Array对象的方法详情

    题外话:从事前端开发有很长一段时间了,一直在不断的扩充各种框架的学习,总觉得要学的东西好多,但是技能并没有得到很大的提升,后发现自己一味去追求的它的广度,并没用去深究其深度,所以决定打算从零开始,从最 ...

  7. JS基础语法---Array对象的方法

    Array对象的方法   Array.isArray(对象)---->判断这个对象是不是数组 instanceof关键字 判断对象是不是数组类型:两种方法: //1 instanceof var ...

  8. 数组排序方法(join()、reverse()、sort())

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法

    JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...

随机推荐

  1. EJB学习笔记之十(BMT事务和CMT事务)

     1.前言 前两篇博客主要介绍了与事务相关的知识.比如事务的一些特性,以及并发产生的问题.本篇来解说一下EJB中两种处理事务的方式.一种是以生命式方式来管理事务(CMT):还有一种则是在EJB内部使用 ...

  2. lodash round

    _.round(number, [precision=0]) 根据 precision 四舍五入 number. _.round(4.006); // => 4 _.round(4.006, 2 ...

  3. JavaScript内存示意图

    一.JavaScript内存示意图 二.js原理 1.js执行规则 (1)先定义 定义变量.定义函数.顺序:自上而下. (2)后执行 除了定义外的代码都是执行代码.顺序:自上而下. 2.动态开辟内存 ...

  4. 解决apt-get的E: Could not get lock /var/lib/dpkg/lock方法

    使用apt-get进行软件的install或update时,有时会出现以下提示信息: E: Could not get lock /var/lib/dpkg/lock - open (11 Resou ...

  5. Spring整合Activiti工作流

    代码地址如下:http://www.demodashi.com/demo/11911.html 一. 前期准备 安装必要的开发环境 eclipse/intellij+maven 3.5.x + tom ...

  6. Mylyn--谁用谁知道!

    Mylyn――谁用谁知道!http://www.blogjava.net/alwayscy/archive/2008/06/15/208022.html 此文是我之Mylyn初体验,不搞大而全,而只把 ...

  7. 【SSH网上商城项目实战30】项目总结(附源码下载地址)

    项目基本完成了,加上这个总结,与这个项目相关的博客也写了30篇了,积少成多,写博客的过程是固化思路的一个过程,对自己很有用,同时也能帮助别人.顺便说个题外话,在学习的过程中肯定会遇到很多异常出现,我们 ...

  8. docker发布spring cloud应用

    原文地址:http://www.cnblogs.com/skyblog/p/5163691.html 本文涉及到的项目: cloud-simple-docker:一个简单的spring boot应用 ...

  9. 自己学Docker:4.開始了解Docker的工作模式

    上一章在学习中有2个疑问: 怎样保存我们在容器里的改动? 假设apt-get假设不能安装时,怎样在Docker中安装软件? 关于run创建的容器问题 对于第一个问题.原来每次运行(当非root用户时, ...

  10. Centos中配置环境变量

    以Java的开发环境Jdk为例. 将jdk-9.0.1放置在/usr/local下(UNIX规范),然后我们将jdk配置到环境变量中去. $ mv jdk- /usr/local $ vim /etc ...