js数组的常见操作和数组实例和字符串转换的详细解决方案
本文介绍了js数组的常用操作和数组与字符串的相互转换,供大家参考,如下:数组与字符串的相互转换
var obj =new1abcdefg (更换/( / G)(= { ^ $ }),1美元)。分裂(
将字符串放入数组中
var obj2 =new2abcdefg (。分裂); / /字符串数组
警报(obj);
警报(obj。长度);
警报(obj实例数组);
警报(obj.join()); / /数组转换为字符串
js数组的常见操作
1,创建数组
无功arrayobj =新(阵列); / /创建一个数组
无功arrayobj =新的数组({大小}); / /创建一个数组和一个指定的长度,长度不限
无功arrayobj =新的数组({ element0 Element1 { {,…{,元件}}}}};创建一个数组并分配一个值
也就是说,虽然第二种方法是创建一个指定长度的数组,但在所有情况下,数组都是可变长度的,即使指定长度为5,仍然可以存储在指定元素长度之外的注意,那么长度将发生变化。
2。对数组元素的访问
无功testgetarrvalue = arrayobj { 1 }; / /得到的数组元素的值
arrayobj { 1 } = 这是新价值; / /将新值赋给数组元素
3,数组元素的添加
ArrayObj。推({第一条。{ itemn。{ 2 {。 / /);一个或多个新的元素添加到数组的末尾,新的数组的长度
ArrayObj.unshift({第一条。{ 2。{ itemn为{。); / /一个或多个新的元素添加到数组,自动后移的数组元素,返回新数组的长度
ArrayObj.splice(insertpos,0,{ { { 1,2,..{,} } } });itemn / /插入一个或多个元素的数组的指定位置,插入位置的元素自动后移,返回。
4,数组元素的删除
(arrayobj。流行); / /删除的最后一个元素并返回该元素的值
(arrayobj。移); / /删除的前一个元素并返回元素值,自动将数组中的元素
ArrayObj.splice(deletepos,DeleteCount的DeleteAt); / /删除指定位置deletepos指定数量的元素DeleteCount的DeleteAt被删除元素,返回的数组
5,数组的截取和合并
ArrayObj.slice(开始,{结束}); / /返回在数组形式的阵列的一部分,注意端不包括相应的元素,如果省略最后将复制
开始后的所有元素
ArrayObj.concat({ { { 1,2,..{, itemN}}}}); / / multiple array (also can be a string, or a mixture of arrays and strings) connected to an array and returns an array of new connection well
6。数组的副本
arrayobj.slice(0); / /返回数组的副本,这是一个新的阵列,不
(arrayobj .concat); / /返回数组的副本,这是一个新的阵列,不
7,数组元素的排序
(arrayobj。反向); / /逆元素(在排到最后一排,最最后第一),返回一个数组。
(arrayobj。排序); / /排序的数组元素,数组。
8。数组元素的字符串元素。
ArrayObj.join(分离器); / /返回字符串,字符串数组的每个元素的值将被连接在一起,通过一个分离器中分离。
tolocalestring,toString,价值:可以被看作是一种特殊用途的加入,不常用
两。数组对象的3个属性
1,长度属性
长度属性表示数组的长度,在它的元素的个数。因为数组的索引总是开始0,数组的上下界:分别为0和length-1,不像大多数其他语言,对Javascript数组的长度属性是可变的,这一点需要特别注意,当长度属性设置较大,整个阵列的状态不会改变,事实上,只有长度属性变大。当长度属性被设置为小于原始值时,其索引大于或等于原始数组中长度的元素的值都将丢失。
var arr = { 12,23,5,3,25,98,76,54,56,76 };
定义10个数字数组
警报(arr.length); / /显示数组的长度10
arr.length = 12; / /增加数组的长度
警报(arr.length); / /显示数组的长度改为12
警报(ARR { 8 }); / /显示第九个元素的值,56
arr.length = 5; / /数组的长度减少5,该指数等于或大于5的元素被丢弃
警报(ARR { 8 }); / /第九行显示已变为未定义的
arr.length = 10; / /数组长度的回收率为10
警报(ARR { 8 }); / /虽然长度恢复到10,但第九元无法收回,不确定
从上面的代码中,我们可以清楚地看到长度属性的属性,但是长度对象不仅可以显式地设置,而且可以隐式地修改。
Javascript中可以使用未声明的变量。类似地,也可以使用未定义的数组元素。长度属性的值被设置为当索引大于或等于长度时由元素1使用的索引的值:
var arr = { 12,23,5,3,25,98,76,54,56,76 };
警报(arr.length);
ARR { 15 } = 34;
警报(arr.length);
规范还定义了10个数字的第一阵列,和警告声明的长度是10,那么15的指数使用元素,即分配15,价值就是ARR { 15 } = 34,然后该数组的长度是由警报报表输出,和16。在任何情况下,这是因为习惯于强类型编程的开发者一个令人惊讶的特征。事实上,在新数组的形式创建的数组的初始长度()0。更改数组长度的未定义元素的操作。
从上面的介绍中可以看到,长度属性非常神奇,可以方便地增加或减少数组的容量。因此,深入了解长度属性将有助于在开发过程中灵活使用它。
2,原型属性
返回对对象类型原型的引用。原型属性对对象是通用的。
objectname.prototype
ObjectName参数是对象的名字。
描述:该类的一组基本功能,为对象提供原型属性。对象的新实例继承了赋予对象原型的操作。
对于数组对象,使用以下示例说明了原型属性的用法。
添加到数组对象的方法返回数组中的最大元素值。为此,声明一个函数,将它添加到Array.prototype,并用它。
array_max()函数
{
var i,max =这个{ 0 };
为(i = 1;i < this.length;i++)
{
如果(最大<这个{ })
马克斯=这个{ };
}
返回最大值;
}
array.prototype.max = array_max;
新数组(1, 2, 3,4, 5, 6);
var y = x.max();
执行此代码后,y将在数组x或6中保存最大值。
3,构造函数属性
表示对象创建的函数。
object.constructor / /对象是一个对象或函数的名称。
描述:构造函数属性是所有原型对象的一个成员,包括所有的固有的Jscript对象以外的全球和数学对象构造函数属性持有参考,构建一个具体的对象实例的功能。
例如:
x =新字符串(嗨);
如果(x.constructor = =字符串) / /处理(条件是真的)。
或
功能MyFunc {
函数。
}
Y =新myfunc;
如果(y.constructor = = myfunc) / /处理(条件是真的)。
对于数组:
y =新数组();
具体使用:
使用数组
基本操作
var =新数组(中央电视台
var =新数组(3);
var =新数组();
{ 0 } 中央电视台;
一个{ 1 } =最终用户名称缩写;
一个{ 2 } =tytv ;
一个{ 3 } =香樟园;
为(i = 0;i < a.length;i++)
Document.writeln(一个{我});
多维数组
var =新数组();
行{ 0 } =新数组(5);
行{ 1 } =新数组(5);
行{ 0 } { 0 } hello;
行{ 0 } { 1 } =兴之韵;
如果(行{ 0 } { 0 })!= null)
{
警报(行{ 0 } { 0 });
}
数组赋值
它可以被指派为简单的上,或像较低的。
VaR xzy =新的数组();
xzy = { 1,2,3,4,5,兴志云
对于(var i = 0;i < xzy.length;i++)
{
警报(xzy {我});
}
它也可以直接分配给多维数组。
var
0123456
1011122021303140 41
警报(S); / /你好,中国,太原,邢志云,33333 44444 55555
警报(S { 1 }); / /中国,太原,邢志云
警报(S { 1 } { 2 }); / /兴乾
警报({ 2 } { 0 }); / 3
警报({ 2 } { 1 }); / 3333
警报({ 5 } { 1 } { 0 });
警报({ 5 } { 1 } { 2 });
警报({ 6 });
推送:数据可以添加到最后的附加元素中
VaR ARR =新的数组()
ARR { 0 } =xbc1 ;
ARR { 1 } =bcx2 ;
ARR { 2 } =CCTV3;
ARR { 3 } =xctv4 ;
Arr.push(兴志云); / /最后的补充,也可以多推
Arr.push(0123);
为(i = 0;i < arr.length;i++)
{
如果(ARR {我}!= null)
document.writeln(ARR {我});
}
弹出最后一个元素,然后先出来。
VaR ARR =新的数组();
VaR的;
ARR { 0 } =A1;
ARR { 1 } =A2;
ARR { 2 } =A3;
ARR { 3 } =A4;
(S = arr.pop); / /弹出最后一个元素的值,最后一个元素和删除
警报(S);
为(i = 0;i < arr.length;i++)
{
document.writeln(ARR {我});
}
显示:
Unshift:插入在第一,
VaR ARR =新的数组();
VaR的;
ARR { 0 } =A1;
ARR { 1 } =A2;
ARR { 2 } =A3;
ARR { 3 } =A4;
arr.unshift(第一
为(i = 0;i < arr.length;i++)
{
document.write(ARR {我} +:);
}
:显示:第一:第二:
首先弹出第一个元素
VaR ARR =新的数组();
VaR的;
ARR { 0 } =A1;
ARR { 1 } =A2;
ARR { 2 } =A3;
ARR { 3 } =A4;
(S = arr.shift); / /第一流行元素的第一个元素的值,并删除
警报(S);
为(i = 0;i < arr.length;i++)
{
document.writeln(ARR {我});
}
显示:A2
连接:使用数组的连接方法连接所有数组内容。
数组连接(String)可以连接数组元素,并在中间插入缬氨酸。当你显示下拉框的内容在网页上,你可以加载内容到数组,然后使用innerHTML中显示的内容。
var =新数组(中央电视台
var =新数组(3);
var =新数组();
{ 0 } 中央电视台;
一个{ 1 } =最终用户名称缩写;
一个{ 2 } =tytv ;
一个{ 3 } =香樟园;
document.writeln(a.join()); / /如果a.join直接使用(),将使用默认,分割
显示:
中国中央电视台
最终用户名称缩写
tytv
xzy
用这种方式连接字符串要快得多。
排序:数组排序(从小到大)
var arr =新阵(1000)
ARR { 0 } =xbc1 ;
ARR { 1 } =bcx2 ;
ARR { 2 } =CCTV3;
ARR { 5 } =xctv4 ;
Arr.sort();
为(i = 0;i < arr.length;i++)
{
如果(ARR {我}!= null)
document.writeln(ARR {我});
}
反向:数组反转,用排序可以实现从大到小排序
VaR ARR =新的数组()
ARR { 0 } =A1;
ARR { 1 } =A2;
ARR { 2 } =A3;
ARR { 3 } =A4;
Arr.push(兴之韵);
Arr.push(0123);
/ / arr.sort();
(arr.reverse); / /数组逆序排列
为(i = 0;i < arr.length;i++)
{
document.writeln(ARR {我});
}
显示:0123张A4 A3 /兴志云A2 A1
片段:数组被截断到另一个数组(不改变原始数组)
无功xzy1 =新的数组();
xzy1 = {
012345
无功xzy2 = xzy1.slice(2,4); / / xzy1从数组元素2停4元素数组的值结束
对于(var i = 0;i < xzy2.length;i++)
{
document.write(xzy2 {我} +); / /你好
}
也可以用这种方式写。
无功xzy1 =新的数组();
xzy1 = {
012345
无功xzy2 = array.prototype.slice.call(xzy1,2,4); / / xzy1从数组元素2停4元素数组的值结束
对于(var i = 0;i < xzy2.length;i++)
{
警报(xzy2 {我}); / /你好
}
拼接:数组被截断或清空(更改原始数组)
VaR ARR =新的数组();
VaR的;
ARR { 0 } =A1;
ARR { 1 } =A2;
ARR { 2 } =A3;
ARR { 3 } =A4;
ARR { 4 } =A5;
ARR { 5 } =A6;
VaR arr2 = arr.splice(3,2,X1
如果没有参数
为(i = 0;i < arr.length;i++)
{
document.write(ARR {我} +); / /显示:A1 A2 A3:::::A6 X1 X2:
}
document.write();
为(i = 0;i < arr2.length;i++)
{
document.write(arr2 {我} +); / /显示:A4:A5:
}
用剪接清除数组
VaR ARR =新的数组();
ARR { 0 } =A1;
ARR { 1 } =A2;
ARR { 2 } =A3;
ARR { 3 } =A4;
ARR { 4 } =A5;
ARR { 5 } =A6;
警报(arr.length); / / 6
Arr.splice(0100000000); / /可以理解为arr数组是空的,然后返回到原来的状态
警报(arr.length); / / 0
康凯:阵列连接
VaR ARR =新的数组();
VaR的;
ARR { 0 } =A1;
ARR { 1 } =A2;
ARR { 2 } =A3;
ARR { 3 } =A4;
ARR { 4 } =A5;
ARR { 5 } =A6;
VaR arr2 = {B1
VaR ARR3 = arr.concat(arr2);
为(i = 0;i < arr3.length;i++)
{
document.write(ARR3 {我} +); / /显示:A1 A2 A3 A4:::::::A5 A6 B1 B2 B3:
}
使用地图
图1:
var map { };
映射张三=1362348754;
图{李四=0351-98476345 ;
图{王五} =0358-4873622 ;
警报({;
map可以用map空}清空。
MAP2:
新数组();
映射张三=1362348754;
图{李四=0351-98476345 ;
图{王五} =0358-4873622 ;
警报(图{李四}); / /显示:0351-98476345
警报(地图。长度); / /这是0 map.length
图{ 0 } =0358-4873622 ;
图{ 1 } =0358-4873622 ;
图{ 2 } =0358-4873622 ;
警报(地图。长度); / /这是3 map.length
对于(var i = 0;i < map.length;i++)
{
document.write(图{我});
}
警报(图{李四}); / /显示:0351-98476345
MAP3:
VaR地图= {名字:兴志云
地图。=婚姻状况已婚;您可以动态添加
eval(地图。=中国国籍);在地图后面。是唯一开始的标识符,而不是,因此全局标识符不应该在这里使用。
警报(地图)。国籍);
警报(map)。名称); / /兴乾
警报(map)。年龄);34
地图{;也可以像第一个赋值,但这可以是任何字符串作为键,如:map1-2韩;警告(map)。名称
++映射1-2};常显示
警报(地图)。名称:++映射。国家);
(图为VaR ColName)
{
警报(ColName); / /姓名性别年龄婚姻状况
}
(图为VaR ColName)
{
警报(图{ ColName }); / /兴志云34已婚男性
}
也可以是这样的
var s ='名':'邢志云','性':'男',35:年龄;
eval(功图= {+ +});
警报(映射{name ));
也许
var s =姓名:邢志云,性别:男,35:时代;
eval(功图= {+ +});
警报(映射{name ));
也可以嵌套
var{{:{三
车辆:{桑塔纳:6万
年龄:34 }
警报(地图)。赵柳)
警报(地图)。车辆。Santana);600万
自定义属性数组
var =新数组();
{ 0 } { };
{ 0 }。名称=兴之韵;
{ 0 }。年龄= 32岁;
{ 1 } { };
{ 1 }。名称=李斯;
{ 1 }。年龄= 28岁;
对于(var i = 0;i < a.length;i++)
{
警报({ })。名称:++ { }。年龄);
}
希望本文能对javascript程序设计有所帮助。