javascrip之数组

一、数组
1、js数组中的元素可以是任意类型的数据。数组长度可以任意增减。
2、创建 Array 类型数组有两种方式:第一种是使用数组的直接量,第二种是Array( )构造函数。
1)第一种是使用数组的直接量
数组的直接量的写法:[100,"zhangsan","女",12.5,false]
将数组的直接量赋值给一个变量,将来可以使用变量来访问数组中的元素。
var a=[100,"zhangsan","女",12.5,false];


创建一个空的数组
var empty=[ ];




数组直接量中的值不一定要求是常数,它们可以是任意的表达式。
var base=1024;
var table=[base,base+1,base+2];


<script type="text/javascript">
var a=[100,2,[0,12,55]];
alert(a.length);
document.write(a[2][1]);//二维数组的访问
</script>




3、访问数组中的元素
数组名[下标]
下标取值从0~数组长度-1
数组长度可以使用数组名.length属性获取


<script type="text/javascript">
var a=[100,"zhangsan","女",12.5,false];
for(var i=0;i<a.length;i++){
document.write(a[i]);
}
</script>




4、使用Array( )构造函数创建数组。
(1)无参数构造函数:
var a=new Array( ); //数组没有初始的数据元素




(2)可以显示地指定数组前n个元素的值
var a=new Array(5,4,3,2,1,"testing,testing");//直接在小括号中给出数组中的元素




(3)可以传递给它一个数字参数,这个数字指定了数组的长度。
var a=new Array(10); 
说明:即使,开始数组指定了长度,后面也可以任意追加元素。




(4)可以省略 new 关键字
var a= Array(10);
a[0]=100;
a[1]="zhangsan";
a[2]=20;




<script type="text/javascript">
var tds=document.getElementsByTagName("td");//返回的就是一个数组
for(var i=0;i<tds.length;i++){
//tds[i].innerHTML="hello";
tds.item(i).innerHTML="hello";
}
</script>


二、数组的常用属性和操作
1、数组的长度:length属性
数组的length属性既可以读也可以写,因此可以使用该属性将数组元素截断或增长。


<script type="text/javascript">
var a=[100,"zhangsan","女",12.5,false];
alert(a.length);//获取数组的长度,读
a.length=2;//改写了数组的长度,如果新的长度比原有数组的长度小,那么该操作使得数组被截断。
for(var i=0;i<a.length;i++){
document.write(a[i]);
}
</script>


2、添加数组新元素
直接为数组元素赋值,就可以增加新元素
<script type="text/javascript">
var a=[100,"zhangsan","女"];
a[3]=false;
alert(a.length);
a[30]=false;
alert(a.length);
</script>


3、删除数组元素:
数组名.shift( ) 删除掉数组的第一个元素
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
a.shift();
for(var i=0;i<a.length;i++){
document.write(a[i]," ");
}
</script>


数组名.pop( ) 删除数组的最后一个元素
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
a.pop();
for(var i=0;i<a.length;i++){
document.write(a[i]," ");
}
</script>


数组名.splice(indexstart, count ) 从一个数组中删除一个连续范围内的元素。
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
a.splice(2,1);
for(var i=0;i<a.length;i++){
document.write(a[i]," ");
}
</script>


4、join()方法:
该方法可以把一个数组的所有元素都转换成字符串,然后再把它们连接起来。可以指定一个可选的字符串来分隔结果字符串中的元素。如果没有指定分隔字符串,就使用逗号分隔元素。
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
var s=a.join();
document.write(s);
</script>


(1)join
var s=a.join("、");//可以指定各个元素之间的连接符


(2)使用toString()
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
document.write(a.toString());//也可以将数组转换为字符串
</script>


(3)
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
document.write(a);//write函数可以隐式的将数组转换为字符串输出
</script>




5、reverse()方法:
该方法将颠倒数组元素的顺序并返回颠倒后的数组。
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
a.reverse()
document.write(a);//write函数可以直接将数组转换为字符串输出
</script>




6、sort( )方法
该方法是在原数组上对数组元素进行排序,返回排序后的数组。默认按照字符的字母序排序。
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
a.sort()
document.write(a);//write函数可以直接将数组转换为字符串输出
</script>




8、concat( )方法
该方法能创建并返回一个新数组,这个新数组包含了调用concat()的原始数组的元素,其后跟随的是concat函数的参数。
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false]
var b=a.concat(1,2,454,243,234);//连接后,原有数组内容不变,生成一个新的数组
document.write(b);
</script>




9、slice()方法:
(1)该方法返回的是指定数组的一个片段,或者说是子数组。
(2)它的两个参数指定了要返回的片段的起止点。
(3)返回的数组包含由第一个参数指定的元素和从那个元素开始到第二个参数指定的元素为止的元素,但是并不包含第二个参数所指定的元素。
(4)如果只传递给它一个参数,那么返回的数组将包含从起始位置开始到原数组结束处的所有元素。
<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false,1,3,4,55,66]
var b=a.slice(2,5);
document.write(b);
</script>




11、push()方法和pop()方法
(1)push()方法可以将一个或多个新元素附加到数组的尾部,然后返回数组的新长度。
(2)pop()方法将删除数组的最后一个元素,减少数组的长度,返回它删除的值。


<script type="text/javascript">
a=[100,"zhangsan","女",12.5,false,1,3,4,55,66]
a.push("hello")
document.write(a);
a.pop();
document.write(a);
</script>




12、unshift()方法和 shift()方法
这两个方法和上面两个方法非常类似,只不过它们是在数组的头部进行元素的插入和删除。
(1)unshift( )会将一个或多个元素添加到数组的头部。返回数组的新长度
(2)shift()删除并返回数组的第一个元素。











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值