开发者社区> 嗯哼9925> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

转--javascript 中数组使用方法汇总

简介:
+关注继续查看

<script language="javascript">
//Author :东阁
//Date:2008-1-11
//目的: 练习数组的基本操作

/*
由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素
可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.
并且在这点上说javascript作为一种脚本语言不同于那种严格的面向对象的c++.c#,java了.具有更高的灵活性.
*/

/*
*在javascript1.1和其后的版本中,数组是用构造函数Array()和运算符new来创建,
可用以下的三种方式来创建javascript 中的数组.
*/
var a=new Array();
var b=new Array(5,4,3,"first","test,string");
var c=new Array(20);

a[
1.23]="test";
document.write(
"a[1.23]="+a[1.23]);
//相信每位从强类型的编程语言学习javascript时,绝对会以为上面这种操作感到惊讶,
//float数据也作数组的下标了,事实上 并非如您所想
//javascript在您是用负数,浮点数,(或布尔型,对象,其他值时),javascript会将它转换为一个字符串
//用生成的字符串作为对象的属性名字,而不是定义了一个新的数组元素
//上面的实例事实就是为a 创建了一个名为:"1.23"的属性.
document.write("a.length="+a.length);
document.write(
"b.length="+b.length);
document.write(
"c.length="+c.length);

a[
3]="Test";
document.write(
"<br />a[3]="+a[3]);
document.write(
"<br/>a.length="+a.length);
//以上测试也很明确我们用整数作为数组的下标是才会真正为数组添加一个元素,
//这里用数组的长度来体现了javascript的数组中的奥妙。


//通过设置数组的length属性能过截断数组的长度。
a.length=3;
if (a[3]==undefined)
{
document.write(
"<br />在a.length="+a.length+"后,a[3]="+a[3]);
}
else
{
document.write(
"<br />在a.length="+a.length+"后,a[3]="+a[3]);
}

//这里测试我们的多维数组元素
/*
*javascript中实际上是不支持多维数组
*但是我们将一个一维数组的元素再赋给其一个一维数组,这样就看起来就实现了多维数组了,但
实际上他还是个一维数组,这和我们理解c语言的数组时的那种想法一样,但他们的实现机制是不一样的。
*/
var g=new Array(3);
g[
3]=a;
g[
3][2]="Test"
document.write(
"<br />g[3][2]="+g[3][2]);

//数组join()方法
for (var i=0;i<20 ;i++ )
{
c[i]
=i;
document.write(
"<br />c[i]="+c[i]);
}
document.write(
"<br/>c的元素join()方法后是:"+c.join());
//数组的reverse()方法
c.reverse();
document.write(
"<br />c的元素在reverse()方法再join()后的结果是:"+c.join("|"));

//concat()方法的测试
var h=new Array(1,2,3);
h
= h.concat([4,5]);
//但是concat函数不会递归地展开一个元素为数组的数组。
h=h.concat(6,7,[9,[10,20]]);
document.write(
"<br />h.length="+h.length+"<br />"+h);
document.write(
"h[8]="+h[8]);


//slice()方法
document.write("<br>h.slice(4,5)="+h.slice(4,5));
document.write(
"h.slice(5,9)="+h.slice(5,9))
//slice()方法:返回的数组包含有第一个参数指定的元素和那个元素开始到第二个参数指定的
//
元素为止的元素但不包含第二个参数所指定的元素。


//splice()方法
//
splice()方法是插入或删除数组元素通用的方法。
/*

splice函数第一个参数指定了要插入或删除的元素在数组中的位置。
第二个参数指定了要从数组中删除的元个数
在第二参数之后可以有任意多个参数,它们指定的是从第一个参数指定的位置处插入的元素。
第一个元素及后续元素,做出相应的移动。
*/

document.write(
"<br />h.splice(8,1)后的h为::"+h.splice(8,1));
//document.write("<br />h.splice(8,0,'a','b','Test')后的h为::"+h.splice(8,0,'a','b','Test'));
h.splice(7,0,'a','b','Test');
document.write(
"<br />h.splice(7,0,'a','b','Test')后的h为:"+h);


//javascript中的数组作为堆栈时和php类似
//
这点有趣更有用。
//
以下是作为堆栈是使用的小实例
/*

push方法是将一个或多个新元素附加到数组的尾部,然后返回数组的新长度。
pop将删除数组的最后一个元素,坚守数组的长度,返回他删除的值。
*/
var stack=new Array();
stack.push(
1,2);
document.write(
"<br>stack的元素是:"+stack);
document.write(
"<br />stack.length="+stack.length);
document.write(
"<br>stack.pop()返回的结果是:"+stack.pop());
document.write(
"<br />stack.length="+stack.length);

//以下是作为队列使用的小实例
/*

unshift方法将一个或多个元素添加到数组元素的头部,然后把已有的元素移动到下标最大的位置已腾出空间
,它返回的是主族的新长度。
方法shift是删除并返回数组的第一个元素,然后将后面的所有元素都向前移动以填补第一个元素留下的空白。
*/
var list=[];
list.unshift(
6,2);
document.write(
"<br >list的内容为:"+list);
document.write(
"<br>list的shift方法是:"+list.shift());

//此外就剩下,我们在java中熟悉的toString()方法 了
//
It's a piece of cake!
document.write(c.toString());
//说白了,其实数组的toString()方法和无参数的join()的效果是完全相同
//
OK,this's chapter for Array,that's all!

</script>
复制代码

 

 

 

本文转自豪情博客园博客,原文链接:http://www.cnblogs.com/jikey/archive/2009/12/11/1621754.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用JavaScript实现的设计模式之commandline(命令行)模式
用JavaScript实现的设计模式之commandline(命令行)模式
49 0
通过阶乘的例子,练习在JavaScript, Scala和ABAP里实现尾递归(Tail Recursion)
通过阶乘的例子,练习在JavaScript, Scala和ABAP里实现尾递归(Tail Recursion)
44 0
介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现
介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现
60 0
不使用任何框架,手写纯 JavaScript 实现上传本地文件到 ABAP 服务器
这是 Jerry 2021 年的第 69 篇文章,也是汪子熙公众号总共第 346 篇原创文章
88 0
【JavaScript】-------javaScript实现两个时间相差多少分钟! 实例代码
【JavaScript】-------javaScript实现两个时间相差多少分钟! 实例代码
120 0
js之如何在JavaScript中实现睡眠功能
js之如何在JavaScript中实现睡眠功能
4997 0
前端之美:9个很酷的基于 CSS3 和 JavaScript 实现的效果
  这篇文章向大家分享9个很酷的挑选自 DemoStudio 的 CSS3 和 JavaScript 实现的精美效果。DemoStudio 是 Mozilla Developer Network(MDN)用于展示一些非常优秀的 CSS3 和 JavaScript 效果的网站,Google 也有一个 Chrome Experiment,用于展示最新的 Web 技术应用。
997 0
重磅出击 实现IOS下内嵌HTML编辑器 Objective-C 与 JavaScript 通信攻关
通过接近N天的努力. 终于在今天.IOS下内嵌HTML编辑器的Demo 基本实现. 学习过程中,参考了很多网上的资料.很感谢这些分享资源的牛人.有你们.
1308 0
零起点 Asp.net中使用javaScript实现前后台方法的相互调用
零起点 Asp.net中使用javaScript实现前后台方法的相互调用 一、前台调用后台的方法: 1、在后台编写你要调用到前台的方法,如下:   public string str()//javaScript函数中执行C#代码中的函数 { retur...
933 0
javascript实现二级联动下拉框
这个是简单也是最基本的下拉框联动的示例,这个示例主要针对那些只有二级联动,且第一级是固定的选项,第二级的内容也比较简单。这里使用了javascript来联动第二级下拉框。  1 DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2  3  4  New Document  5  6  7  8  9 10     //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。
1033 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Javascript中的函数
立即下载
Javascript中的对象
立即下载
JavaScript 语言在引擎级别的执行过程
立即下载