1、创建数组的基本方式有两种,第一种使用Array构造函数

  

  使用Array构造函数时可以省略new操作符  

2、第二种方式是使用数组字面量表示法

  

由于IE的实现与其他浏览器不一致,因此我们不赞同使用这个方法

3、数组的length属性不是只读的,可以从数组的末尾移除项或向数组中添加新项

  

4、数组最多可以包含4294967295个项,

5、检测数组

  

6、Array.isArray(value);这个方法的目的是最终确定某个值到底是不是数组。而不管是他在哪个全局执行环境中创建的

  方法的浏览器支持的有IE9+,Chrome,Opera10.5+,Safari 5+。Firefox+

7、转换方法

  所有对象都有toLocaleString()/toString()/valueof()

  toLocaleString()有时候与toString()方法的值一样,有时候也不一样,比如

  

8、join()方法,使用不同的分隔符来构建这个字符串

  

var colors = ['red','blur','yellow'];
alert(colors.join('||'));
弹出的是

  

  如果数组中的某一项值是null或者undefined,那么join()、toLocale-String()/toString()/valueof()方法返回的        结果中以空字符串表示

 var colors= ['red','blur',''];
alert(colors);
弹出的是


9、push()/pop()栈方法

  栈是一种LIFO的数据结构(后进先出),数组也提供了一种让数组的腥味类似于其他数据结构的方法。最先添加的项最早被移除。栈中的项的插入(叫做推入)和移除(交做弹出),只发生在一个位置——栈的顶部。ECMAScript提供了push()/pop()方法来实现类似栈的行为

  push()接受任意数量的参数,添加到数组末尾,并返回修改后数组的长度

var colors = new Array();
var count = colors.push("red","green");
alert(count);//2

  返回数组的长度为2

var colors = new Array();
var count = colors.push("red","green");
//此时colors为:colors=["red","green"]
count = colors.push("black");
//此时colors为:colors=["red","green","black"]
alert(count);//3

  

  pop()方法从数组末尾移除最后一项,减少数组的length值,返回移除的项

  

var colors = new Array();
var count = colors.push("red","green");
//此时colors为:colors=["red","green"]
count = colors.push("black");
//此时colors为:colors=["red","green","black"]
alert(count);//3
var item = colors.pop();
//此时colors为:colors=["red","green","black"],pop()方法返回的是数组的最后一项,所以是black
alert(item);//弹出的是black
//此时colors为:colors=["red","green"]
alert(colors.length);//2

  

10、shift()unshift()队列方法

  shift(),移除数组中的第一个项,饼返回该项,同时将数组的长度减1,与push()组合

  unshift(),在数组前端添加任意个项并返回新数组的长度,与pop()组合

11、reverse()重排序方法

  reverse()和sort()。

  reverse()方法会对反转数组项的顺序

var values = [1,2,3,4,5];
values.reverse();
alert(values);//5,4,3,2,1

12、sort()。

  reverse()方法不够灵活,因此使用sort()方法

  默认情况下sort()是最小的排在最前面,升序排列。sort()调用每个数组项的toString()转型方法,然后比较的道德字符串,以确定如何排序。

function compare(value1, value2) {
if(value1 < value2) { //如果第一个参数应该位于第二个参数之后,那么返回的是正数
return 1;
} else if (value1 > value2){
return -1;//如果第一个参数应该位于第二个参数之前,那么返回的是负数
} else {
return 0;
}
}
var values = [0,1,14,10,15];
values.sort(compare);
alert(values);//[15,14,10,1,0]

  

Array类型(一)的更多相关文章

  1. JS高程5.引用类型(2)Array类型

    Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...

  2. 5.2 Array类型介绍

    Array类型是数组类型,Array(数组)类型也是引用类型中的一种. js 数组中的每一项可以保存任何类型的数据. js数组的大小/长度是可以动态调整的.如果你往数组中添加数据,数组长度会自动增加. ...

  3. JavaScript中Array类型方法总结

    Array类型是ECMAScript中最常用的类型之一,ECMAScript中的数组与其他多数语言中的数组有着相当大的区别.ECMAScript数组的每一项可以保存任何类型的数据.这里总结了数组类型的 ...

  4. Object类型与Array类型

    总结--JS中的引用类型: Object类型,Array类型,Boolean类型,Number类型,String类型,Date类型, Function类型,RegExp类型,单体内置对象(Global ...

  5. oracle Array类型作为参数传入函数(存储过程) 大字符串参数解决方案

    1. 创建自定义的类型.由于Oracle没有提供现成的array类型,这里用table类型来模拟. CREATE OR REPLACE TYPE varchar_array is Table OF v ...

  6. mongo中查询Array类型的字段中元素个数

    I have a MongoDB collection with documents in the following format: { "_id" : ObjectId(&qu ...

  7. 引用类型之Array类型

    Array类型 ECMAScript数组与其它语言数组一样,都是数据的有序列表.但是ECMAScript数组的每一项可以保存任何类型的数据.而且,ECMAScript数组是可以动态调整的. 1.创建和 ...

  8. JavaScript引用类型之Array类型一

    一.简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: 1.相同点: (1)他们都是数据的有序列 ...

  9. 如何判断一个变量是数组Array类型

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...

  10. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

随机推荐

  1. List myList=new ArrayList()的理解

    ArrayList不是继承List接口,是实现了List接口.你写成ArrayList arrayList = new ArrayList();这样不会有任何问题.和List list = new A ...

  2. Autolayout-VFL语言添加约束-备

    一.VFL语言简介 VFL(Visual format language)语言是苹果为了简化手写Autolayout代码所创建的专门负责编写约束的代码.为我们简化了许多代码量. 二.使用步骤 使用步骤 ...

  3. 关于NGINX变量的一些测试结果

    作为NGINX变量,不像正规语言那么正式. 但处理自定义和内部变量时,这些操作,也是少不了的. geo $dollar { default "$"; } server { list ...

  4. NOI十连测 第五测 T2

    思路:考虑建立可持久化线段树,第一层维护的是i这个位置的next位置,第二层,维护的是接下来走这个字符会到哪个节点. 感觉很巧妙啊,不愧是Claris #include<algorithm> ...

  5. Qt5.3企业版和开源版功能区别

    一: Charts Charts是QT提供的图表模块.他提供了非常简便的APIs来绘制令人惊叹的Line, Spline,Area,Scatter,Pie,Donut,Bar,Polar和Box-an ...

  6. PowerShell 管道和对象成员

    2.1  管道 在各种现代的shell中,均支持管道的概念. 管道的最大特点就是:  前一个命令的输出作为后一个命令的输入.cmd.bash均支持管道的概念,这里我就不多说了,下面我们说说PS中 管道 ...

  7. Linux驱动开发相关

    一般用printk 查看/etc/sysconf文件,看看内核调试信息放到了哪里 打印的消息一般放在/var/log/messages文件里面. 如果你是在X Windows下的XTerm中insmo ...

  8. libeXosip2(2) -- General purpose API.

    General purpose API. general purpose API in libeXosip2-4.0.0. More... Modules eXosip2 configuration ...

  9. SNMP配置和常用命令OID(转)

    博文转至:http://blog.csdn.net/susu09new/article/details/12835191 OID值表示的意义(中文) .1.3.6.1.2.1.1操作系统相关的信息,其 ...

  10. HDu 5433 Xiao Ming climbing (BFS)

    题意:小明因为受到大魔王的诅咒,被困到了一座荒无人烟的山上并无法脱离.这座山很奇怪: 这座山的底面是矩形的,而且矩形的每一小块都有一个特定的坐标(x,y)和一个高度H. 为了逃离这座山,小明必须找到大 ...