浅谈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改变数组元素