浅谈javascript数组对象

阵列



1。介绍

数组是一组有序的值,每个值称为一个元素,每个元素都与阵列中的位置,这是由一个数表示,称为一个索引。Javascript数组式自由:数组元素可以是任何类型,并在同一数组中的不同的元素可能有不同类型。Javascript权威指南(第六版)

2。定义

复制代码代码如下所示:

var =新数组(张三



张三



三.属性

长度:表示数组中元素的长度。

4。实例方法

常见的方法:

1)位置():元素插入到数组的头

2)移位():删除并返回数组的第一个元素。

3)推():在数组的结尾插入元素。

4)POP():删除并返回数组的最后一个元素。

4.1 concat():链接的元素到数组。原始数组将不会修改返回新数组

参数:

(1)value1,value2 .....值:任何数量的值

返回值:

{一个包含原始数组和新添加元素的新数组。

实例:

复制代码代码如下所示:

无功demoarray = {'a',B,C};

无功demoarray2 = demoarray.concat(e);

console.log(demoarray); / / = > demoarray:{ A,B,C}的原始数组不改变

console.log(demoarray2); / / = > { A,B,C,E'}



4.2():依次遍历元素以确定每个元素是否正确。

参数:

函数(值,索引,自){:每个元素都将使用这个函数来判断是否正确,当判断为false时,立即结束遍历。

值:数组遍历元素

元素序列号

自:数组本身

返回值:

{ }:只有每一个元素都是true才返回true;只要一个元素是false,它就返回false。

实例:

复制代码代码如下所示:

无功demoarray = { 1, 2, 3 };

VaR RS = demoarray.every(功能(价值指数,自){

返回值> 0;

});

console.log(RS); / / = >真的



4.3筛选器():依次遍历元素,并返回包含条件元素的新数组。

参数:

函数(值,索引,自我){:调用这个函数的每个元素返回一个包含元素的新条件数组。

值:数组遍历元素

元素序列号

自:数组本身

返回值:

{一个包含条件元素的新数组

实例:

复制代码代码如下所示:

无功demoarray = { 1, 2, 3 };

VaR RS = demoarray.filter(功能(价值指数,自){

返回值> 0;

});

console.log(RS); / / = > { 1, 2, 3 }



4.4 foreach():依次遍历元素,执行指定的功能;没有返回值。

参数:

函数(值,索引,自我){:每个元素依次调用这个函数

值:数组遍历元素

元素序列号

自:数组本身

返回值:否

实例:

复制代码代码如下所示:

无功demoarray = { 1, 2, 3 };

demoarray.foreach(功能(价值指数,自){

console.log(价值); / / = >顺序输出:123

});



4.5指数():找到数组中的匹配元素。如果没有匹配的元素,返回- 1。找到时间用=运算符,所以我们必须区分1和1之间

参数:

(1)值:数组中要找到的值。

开始:开始查找的数字位置,如果省略,为0。

返回值:

返回与数组中的值匹配的第一个序列号,如果不存在,则返回到1。

实例:

复制代码代码如下所示:

{ A,B,C}。indexOf('a'); / / = > 0

{ A,B,C}。indexOf(A,1); / / = > 1

{ A,B,C}。indexOf(会); / / = > 1

{ 1, 2, 3 }。indexOf(1); / / = > 1:= = =匹配



4.6连接():用分隔符把数组中的所有元素拼接成一个字符串。

参数:

(1)sparator { }:字符串分隔符之间的元素,如果省略,默认是以英文逗号分隔,。

返回值:

{ }:字符串的每个元素拼接sparator作为分隔符组成的字符串。

实例:

复制代码代码如下所示:

{ A,B,C);}。加入 / / = >(A,B,C

{ A,B,C}。加入(-); / / = > 'a-b-c



4.7:查找匹配字符串的数组中的元素。如果没有匹配的元素,返回- 1。找到时间用=运算符,所以我们必须区分1和1之间

参数:

(1)值:数组中要找到的值。

开始:开始查找的数字位置,如果省略,从最后一个元素开始查找。

返回值:

{从右向左开始查找数组中的第一个匹配值,如果不存在,返回到1。

实例:

复制代码代码如下所示:

{ A,B,C字符串}。(A); / / = > 0

{ A,B,C}。字符串(A,1); / / = > 0

{ A,B,C字符串}。(会); / / = > 1

{ 1, 2, 3 }。字符串(1); / / = > 1:= = =匹配



4.8 map():依次遍历和计算每个元素,返回计算元素的数组。

参数:

函数(值,索引,自我){:每个元素依次调用这个函数,返回计算元素

值:数组遍历元素

元素序列号

自:数组本身

返回值:

{一个包含好元素的新数组

实例:

复制代码代码如下所示:

{ 1, 2, 3 } map(函数(值,索引,自){)

返回值* 2;

});{ { 2, 4, 6 }



4.9 POP():删除并返回数组的最后一个元素。

参数:无

返回值:

{ }数组的最后一个元素;如果数组为空,返回到未定义的数组。

实例:

复制代码代码如下所示:

无功demoarray = {'a',B,C};

(demoarray。流行); / / =>C

(demoarray。流行); / / = > B

(demoarray。流行); / / = >一

(demoarray。流行); / / = >定义



4.10推送():将元素添加到数组的结尾

参数:

(1)value1,value2 .....值:添加到数组的末尾任何数量的值

返回值:

{数组的新长度

实例:

复制代码代码如下所示:

无功demoarray = {'a',B,C};

DemoArray.push(会); / / = > 4,demoarray:{ A,B,C,D }

DemoArray.push(E,F); / / = > 6,demoarray:{ A,B,C,D,E,F }

console.log(demoarray); / / = > { A,B,C,D,E,F }



4.11反向():反转数组元素的顺序。

参数:无

返回值:否(在原始数组中,以反转元素序列)。

实例:

复制代码代码如下所示:

无功demoarray = {'a',B,C,D,E'};

DemoArray.reverse();

console.log(demoarray); / / = > {E



4.12移位():删除并返回数组的第一个元素

参数:无

返回值:

{ }数组的第一个元素;如果数组为空,则返回未定义的元素。

实例:

复制代码代码如下所示:

无功demoarray = {'a',B,C};

(demoarray。移); / / = >一

(demoarray。移); / / = > B

(demoarray。移); / / =>C

(demoarray。移); / / = >定义



4.13层(startIndex endIndex):返回数组的一部分。

参数:

指数:开始的编号;如果为负数,从计算表达式结束,1代表最后一个元素的2倒数第二,等等。

指定的元素:结束序列号后,没有指定是结束。截取的元素不包含序列号的元素在这里,和结束的序列号前元在这里。

返回值:

{ }一个包含数组的指定元素的字符前的所有元素的数组。

实例:

复制代码代码如下所示:

{ 1, 2, 3,4, 5, 6 }。切片({ 1);,2, 3, 4,5, 6 }

{ 1, 2, 3,4, 5, 6 }。切片(1);从截取开始的2, 3, 4,5, 6 }:第1号

{ 1, 2, 3,4, 5, 6 }。切片(0, 4); 1, 2, 3,4 }:第0号到第3号截取(在序号4之前)元素

{ 1, 2, 3,4, 5, 6 }。切片(- 2);拦截后面的2个元素:5, 6个元素



4.14类(opt_orderfunc):按一定的规则排序

参数:

(1)opt_orderfunc(V1,V2){功能}:一个可选的排序规则的功能。如果省略,将命令从小型到大型,根据元素的信。

在遍历前面的元素。

V2:遍历背后的元素。

排序规则:

比较V1和V2,并返回一个数字来表示V1和V2的排序规则:

小于0:V1小于V2,V1位于V2的前面。

等于0:V1等于V2,V1在V2的前面。

大于0:V1大于V2,V1位于V2后面。

返回值:否(原始数组中的排序操作)。

实例:

复制代码代码如下所示:

{ 1, 3, 5,2, 4, 11,22 }。排序({ 1);,11, 2, 22,3, 4, 5 }:在这里,所有元素都转换为字符,2中的11个字符

{ 1, 3, 5,2, 4, 11,22 }排序(函数(V1,V2){)

返回V1;

});{ 1, 2, 3,4, 5, 11,22 }:升序

{ 1, 3, 5,2, 4, 11,22 }排序(函数(V1,V2){)

返回(V1 - V2); /计数器,可以从大到小转换。

});{ { 22, 11, 5,4, 3, 2,1 }



4.15拼接():插入,删除数组元素

参数:

(1)开始{ }:启动插入、删除或替换的初始序列。

DeleteCount的DeleteAt { int }:删除元素的个数,开始计算从开始。

(3)value1,value2…值{对象}:可选参数,表示要插入的元素,并开始将从开始。如果引用是不是0,删除操作是插入操作执行的执行。

返回值:

{ }返回包含删除元素的新数组。如果参数为0,则表示没有元素删除并返回空数组。

实例:

复制代码代码如下所示:

1。删除

无功demoarray = {'a',B,C,D,E'};

无功demoarray2 = demoarray.splice(0, 2); / /删除2个元素的序号从0开始,数组包含已删除的内容:{ 'a','b' }

console.log(demoarray2); / / = > { 'a','b' }

console.log(demoarray); / / = > {c,会,e}

2。插入

无功demoarray = {'a',B,C,D,E'};

无功demoarray2 = demoarray.splice(0, 0,1,2,3 '); / /参数为0时,返回一个空数组

console.log(demoarray2); / / = > { }

console.log(demoarray); / / = > { 1,2,3,A,B,C,D,E'}

三.第一个删除插入

无功demoarray = {'a',B,C,D,E'};

当参议院不是0时,则删除(返回包含4个元素的已删除元素的数组,从0开始删除序列号),然后执行插入操作。

无功demoarray2 = demoarray.splice(0, 4,1,2,3英尺);

console.log(demoarray2); / / = > { A,B,C,D }

console.log(demoarray); / / = > { 1,2,3,A,B,C,D,E'}



4.16 toString():数组中通过英语逗号的通过所有的元素,拼接成字符串。

参数:无

返回值:

{ }数组中的所有元素都通过一个英文逗号,作为字符串拼接,并返回。这与调用非引用连接()方法是一样的。

实例:

复制代码代码如下所示:

{ 1, 2, 3,4, 5 }。toString('1,2,3,4,5 '); / / = >

{ A,B,C,D,E'}。toString(); / / = > A,B,C,D,E



4.17位置():元素插入到数组的头

参数:

value1,value2 .....值:添加任何数量的值数组的头

返回值:

{数组的新长度

实例:

复制代码代码如下所示:

无功demoarray = { };

DemoArray.unshift(A); / / = > demoarray:{'a' }

DemoArray.unshift(B); / / = > demoarray:{ B,A }

DemoArray.unshift(C); / / = > demoarray:{ C,B,A }

DemoArray.unshift(会); / / = > demoarray:{会',C,B,A }

DemoArray.unshift(e); / / = > demoarray:{ e、会,C,B,A }



5。静态方法

5.1 array.isarray():确定对象是否是一个数组

参数:

值{对象}:任何对象

返回值:

{ }返回判断结果。当它为真时,对象是一个数组;当它为false时,对象不是数组。

实例:

复制代码代码如下所示:

Array.isArray({ }); / / = >真的

Array.isArray({ A,B,C}); / / = >真的

Array.isArray(A); / / = >假

Array.isArray({ 1, 2, 3 }); / / = >假



6。实际操作

6.1指数

说明:每个元素在数组中都有一个位置,它由一个数字表示,称为索引。索引从0开始,即第一个元素的索引是0,第二个元素的索引是1,等等。

当您获得数组中不存在的索引时,返回到未定义的位置。

实例:

复制代码代码如下所示:

无功demoarray = {'a',B,C,D,E'};

demoarray { 0 }; / / = >获取第一个元素:A

demoarray { 0 } = 1; / /集的前1个元素

console.log(demoarray); / / = > demoarray:{ 1,B,C,D,E'}

console.log(demoarray { 9 }); / / = >定义:当指数不存在,返回未定义



6.2声明

说明:您可以一行一行地遍历语句数组。

实例:

复制代码代码如下所示:

无功demoarray = {'a',B,C,D,E'};

对于(var i = 0,长度= demoarray.length;i <长度;i++){

console.log(demoarray {我}); / / = >数组元素在每个输出

}



6.3浅复制

描述:数组类型是一种引用类型;当数组A被复制到数组B时,对数组B进行元素修改,数组A也将被修改。

实例:

复制代码代码如下所示:

无功demoarraya = {'a',B,C,D,E'};

无功demoarrayb = demoarraya; / /赋给数组b

demoarrayb { 0 } = 1;B修改 / /数组元素

console.log(demoarraya); / / = > { 1,B,C,D,E'}:一个数组元素已经改变了



6.4深拷贝

描述:使用concat()返回新数组的方法,防止发生浅复制,修改数组b和阵列操作,不改变。

实例:

复制代码代码如下所示:

无功demoarraya = {'a',B,C,D,E'};

var = demoarraya.concat(demoarrayb); / / concat()方法返回一个新数组

demoarrayb { 0 } = 1;B修改 / /数组元素

console.log(demoarraya); / / = > { A,B,C,D,E'}:一个元素的数组没有变化

console.log(demoarrayb); / / = > { 1,B,C,D,E'},b改变数组元素