`
haiyupeter
  • 浏览: 427674 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JavaSciprt数组(转)

    博客分类:
  • Util
阅读更多
<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>

 

分享到:
评论

相关推荐

    JAVASCIPRT API

    JavaScript API,全称为JavaScript Application Programming Interface,是JavaScript编程语言中用于与各种软件和服务进行交互的一组工具、函数和方法。JavaScript API广泛应用于Web开发,它允许开发者通过...

    javaSciprt基础

    JavaScript是一种广泛应用于网络开发的轻量级脚本语言,它主要负责网页的动态化和交互功能。本实验旨在帮助初学者掌握JavaScript的基础知识,包括创建简单的JavaScript程序、使用外部JS文件、运用变量以及进行基本的...

    javasciprt 集合

    其中包括长期收集的javascript经常用特效,以及代码示例、表单验证等等 其中包括目录生成器QuickMenu、javascript树dtree、日历等等,反正东西很多就是了

    html文本编辑器(javasciprt+css)

    下面将详细讨论这些知识点。 ... JavaScript则是一个强大的脚本语言,它负责实现页面的动态功能。...当这些事件发生时,JavaScript代码会执行相应的操作,比如改变文本的字体、颜色、大小等样式。此外,JavaScript还能...

    用javaSciprt写的进度条

    JavaScript是一种广泛应用于网页和应用程序开发的脚本语言,它的强大之处在于可以实时更新和交互页面内容,这在创建动态用户体验时非常有用。在本案例中,我们关注的是使用JavaScript实现的“进度条”功能,这是一个...

    javasciprt操作数字

    JavaScript是一种广泛应用于Web开发的脚本语言,它在处理数字时提供了丰富的功能。在实际的开发工作中,理解和熟练掌握JavaScript中的数字操作对于提高代码效率和用户体验至关重要。本节将深入探讨JavaScript如何...

    JavaSciript写的俄罗斯方块

    JavaSciript写的俄罗斯方块,领悟JavaScirpt的博大大!JavaSciript写的俄罗斯方块,领悟JavaScirpt的博大大!

    JavaSciprt中处理字符串之sup()方法的使用教程

    在JavaScript中,`sup()`方法是一个非常实用的功能,主要用于将字符串中的文本转化为上标形式,即文本会显示在正常字体的上方,常用于数学公式或特定格式的需求中。`sup()`方法是JavaScript字符串对象的一个成员,它...

    javasciprt下jquery函数$.post执行无响应的解决方法

    在JavaScript中使用jQuery库进行AJAX请求时,$.post方法是常用的一种简便方式来发送POST请求。然而,当请求体或参数中包含特殊字符,尤其是小于号(&lt;)或大于号(&gt;)时,可能会导致请求无法成功发送,从而出现无响应的...

    uia-simjs:SimPy的JavaSciprt端口,基于过程的离散事件模拟框架

    用于JavaScript,DESim4JS的UIA-SIM DESim4JS是SimPy(基于过程的离散事件模拟框架)JavaScript端口。 DESim4JS旨在将SimPy中使用的概念移植到JavaScript世界。例子一个简单的例子: var env = new desim ....

    piscine::fire: 从零开始的 JavaScript 紧缩课程

    这是 Piscine 项目,这是一个由 42 名学员创建的 Javasciprt 短期课程。 :spiral_notepad: 课程 : JS 基本语法 - 数据类型 / const 和 let / 异常处理 JS01:数组和函数 JS02:对象 JS03:面向对象和类 JS04 JS05...

    js_piscine::fire: 从零开始的 JavaScript 紧缩课程

    这是 Piscine 项目,这是一个由 42 名学员创建的 Javasciprt 短期课程。 :spiral_notepad: 课程 : JS 基本语法 - 数据类型 / const 和 let / 异常处理 JS01:数组和函数 JS02:对象 JS03:面向对象和类 JS04 JS05...

    “药膳典”小程序是针对这一现象来根据用户的身体信息,个人喜好,为用户量身制定药膳食谱进行调理身体,本设计以微信开发者工具为主

    反而影响了健康,经常自己误判食错药膳等,“药膳典”小程序是针对这一现象来根据用户的身体信息,个人喜好,为用户量身制定药膳食谱进行调理身体,本设计以微信开发者工具为主,使用HTML,CSS,Javasciprt,及微信云...

    千方百计笔试题大全

    - **数组**:有 `length` 属性。 - **String**:有 `length()` 方法。 #### 16. 在 JAVA 中,如何跳出当前的多重嵌套循环? 可以使用带标签的 `break` 语句。 #### 17. 构造器 Constructor 是否可被 override? ...

    JavaScript+flash实现相册功能

    JavaScript 和 Flash 在网页开发中常用于创建交互式用户体验,尤其是对于实现相册功能。这个话题涉及到前端技术的多个方面,包括动态图片展示、用户交互以及跨平台兼容性等。让我们详细探讨一下如何利用 JavaScript ...

    JavaScript_深度剖析(从入门到精通).doc

    - **数组(Array)**:用于存储有序的数据集合。 - **对象(Object)**:存储键值对的形式,可用于模拟复杂数据结构。 #### 三、JavaScript程序构成 - **变量**:存储数据的基本单位。 - **函数**:封装一段代码,可...

    开始对AngularApp进行单元测试(1)

     先说说jasmine,它算作一个行为驱动开发(behaviourdrivendevelopment,BBD)的JavaSciprt的框架,会让人困惑的是,它也可以用测试驱动开发(testdrivendevelopment,TBD)的思想来写测试。BBD和TBD两种风格会有些区别...

    KouChi:静态网站页面

    #####文件结构简介index.html 主页menu-X-Y-zzz.html 其他功能页,命名方式:X: 第一级菜单的第X项Y: 第一级菜单的第X项,第二级菜单第Y项zzz: 本页内容描述orginalPages 网页原始模板css css文档js javasciprt文档...

Global site tag (gtag.js) - Google Analytics