javascript Array对象

一,创建数组对象

JavaScript的数组支持了对任何数据类型的支持,并不会像java,C#那样指定了数组类型只能存储这种类型。

我们可以使用以下三种方法来创建JavaScript数组对象,

  1,var arr=new Array();

  2 , var arr=new Array([size]);//size为整数,定义一个固定长度的数组

  3,var arr=new Array(element1[,element2[,…elementN]]);//elementN 为数组的元素

 

二,数组赋值

从上面创建数组对象的方法来看,只有使用第一种和第二种方法创建的数组对象需要再次赋值,第三种方法在创建的时候已经赋值。对于第一种和第二种方法创建的数组对象我们可以使用以下的方法进行赋值

var arr1=new Array();
arr1[0]=1;
arr1[1]=2;
arr1[2]=3;var arr2=new Array(3);
arr2[0]=1;
arr2[1]=2;
arr2[2]=3;

 

但对于创建数组时指定了数组对象的长度,只能在长度范围内对数组进行赋值,超出范围则无法赋值,例如上面例子中 arr[3]=4,是不能赋值成功的。

当然除了上面的赋值方式外,我们还可以使用Array对象提供的方法对数组进行赋值,将在下面数组方法中介绍。

 

三,数组的访问

javascript数组的访问方式跟其他的语言的访问数组的方式相同,都是通过下标对数组进行访问,如下

var arr1=new Array();
arr1[0]=1;
arr1[1]=2;
arr1[2]=3;document.write(arr1[0]);

四 ,数组元素的修改

JavaScript 数组元素的修改非常简单,只要像指定下标添加一个新值即可,如下

var arr1=new Array(); arr1[0]=1; arr1[1]=2; arr1[2]=3; arr1[0]=4; document.write(arr1[0]);
 

输出结果将会是4,而不是1,这样就可以修改成功

五,第三种创建数组对象特别说明

如果我想使用第三种方法对数组赋值一个整数,比如我想赋值一个 1在数组中,可以使用

var arr=new Array(1);

arr[0]=1;

或者使用

var arr=new Array();

arr[0]=1;

 

而不可以单独使用 var arr=new Array(1);因为这种方法只会创建数组长度为 1 的数组对象,而不能赋值,但是字符串是可以赋值成功的 var arr=new Array(“a”); 

 

六,数组对象常用的方法

1,concat 方法

     该方法返回一个新的数组,新的数组由该数组和其他元素组成,并不要求被合并的对象也是数组,可以是任意元素。

     如下给的例子:

Codefunction arrayConcat(){var arr1 = new Array(1, 2, 3);var value = "javascript";var arr2 = new Array("C#", "Java");var arr3 = arr1.concat(value, arr2);document.write(arr3.length + "</br>");document.write(arr3.toString() + "</br>");}

   输出的结果是

    6
    1,2,3,javascript,C#,Java

2,join方法

   该方法返回的是一个字符串而不是一个数组,数组中的元素由指定的分隔符分开.其使用方法为 arr.join(String),其中

   String为可选项,如果不指定分隔符,那么数组元素将以逗号分隔。

   如下例子

Code  function arrayJoin(){var arr1 = new Array(1, 2, 3);var value = "-";var arr2 = arr1.join(value);document.write(arr2.length + "</br>");document.write(arr2.toString() + "</br>");}


输出结果为:1-2-3

3,sort(fun) 方法

        对数组元素进行排序,fun排序函数为可选项,不指定排序函数,将按照ASCII表进行升序排序,如果指定fun函数,那么该函数必须返回 –1或者0或者1,-1代表第一个参数比第二个参数小,0 参数相等,1代表第一个参数比第二个参数大

Code  function arraySort(){var arr = new Array(1, 3, 2, 0, 1, 4, 2);arr.sort();document.write(arr.toString() + "</br>");arr.sort(desc);    document.writeln(arr);document.writeln("<br>");arr.sort(asc);   document.writeln(arr);}function desc(x, y){if (x > y)return -1;if (x < y)return 1;if (x == y)return 0;}function asc(x, y){if (x > y)return 1;if (x < y)return -1;if (x == y)return 0;}

 

4,reverse方法

    该方法对给定的数组进行反转。

上面的方法也是经常使用的,其他方法的使用大家可以参考JavaScript使用文档或者可以到w3school查看

 

七,二维数组

用上面所给创建数组对象的方法,大家会发现只能创建以为数组,而在开发中经常会用到二维数组,比如jqgrid就会用到二维数组来展示数据,所以这时候我们就要使用JavaScript创建二维数组。思路很简单,既然是数组,我们就创建一个数组,然后再将一个数组插入到第一个数组中的元素里面。这样就可以形成二维数组,下面给出代码

Codevar arr = new Array();for (var i = 1; i <= 10; i++) {arr[i] = new Array();for (var j = 0; j <= 10; j++) {aa[i][j] = i + j; }}

 

 

 

八,数组的属性

1,length 经常使用,得到数组的长度

2,propertype 返回对象原型的引用,使用这个属性我们可以对Array对象设置我们自己写的方法,比如我想让Array对象有我自己的列最大值的方法,可以使用

Codefunction array_max( )
{
   var i, max = this[0];

    for (i = 1; i < this.length; i++)
    { 
        if (max < this[i])   max = this[i];
    }  
      return max;
   }
     Array.prototype.max = array_max;
  var arr = new Array(1, 2, 3, 4, 5, 6);
  var value = x.max( );

 

对数组的就写到这里,刚开始写博客,里面如果有不妥的地方请大家指定出来或者你有更好的见解,大家可以交流,谢谢.

转载于:https://www.cnblogs.com/yuanking/p/4328399.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

67 亿美金搞个图,创建知识图谱的成本有多高你知道吗?

来源&#xff1a;算法与数学之美摘要&#xff1a;我们知道强大的深度模型需要很多计算力&#xff0c;那你知道创建一个知识图谱的成本到底是多少吗&#xff1f;德国 Mannheim 大学的研究者最近仔细估算了各种知识图谱每创建一条记录所需要的成本&#xff0c;他们表示对于大型知…

怎样修改MFC中应用程序标题的图标?

一、单文档中修改程序标题的图标 1. 切换到ResourceView视图&#xff0c;右键点击Icon&#xff0c;选择“import” ,导入图标(.ico)文件 2. 在CMainFrame中的OnCreate()函数中添加如下代码&#xff1a; //设置标题栏的图标 HICON m_hIcon AfxGetApp()->LoadIcon(IDI_ICON…

黄仁勋的“数据梦” 英伟达豪掷69亿美金虎口夺食

来源 &#xff1a; Bloomberg 编译&#xff1a;网易智能 晗冰3月12日消息&#xff0c;据国外媒体报道&#xff0c; 图形图像芯片制造商英伟达同意斥资69亿美元收购芯片制造商Mellanox&#xff0c;其欲通过此举大举进军不断增长的数据中心芯片市场。据悉&#xff0c;英伟达对Mel…

即使达到5级自动驾驶阶段,自动驾驶“卡车”也不可能完全“无人”

来源&#xff1a;IEEE编译&#xff1a;大数据文摘 李雷、周素云感谢Waymo和Uber等创业公司&#xff0c;让我们知道了无人驾驶汽车是怎么回事。这些汽车或卡车上配备了大量的传感器&#xff0c;并且依靠强大的计算能力使人们可以放心乘坐。愿景是美好的&#xff0c;但是却忽视了…

MFC中如何给对话框添加背景图片

定位到 void CXXXDlg::OnPaint()&#xff0c;在if()...else()中的else()下添加如下代码&#xff1a; else { //CDialog::OnPaint();//要禁止这个调用 CPaintDC dc(this); CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&am…

孙正义万字访谈:AI是我现在唯一关注的事情,我是科技的绝对信徒

来源&#xff1a;腾讯科技科技变革丝毫没有减速&#xff0c;自动化就是科技的终极使命&#xff01;这是孙正义在最新采访中再次强调的理念。在接受CNBC超长采访中&#xff0c;软银创始人、千亿美元愿景基金掌舵者一再表示&#xff0c;AI能解决人类无法解决的问题&#xff0c;未…

Oracle 直方图理论

一.何为直方图 直方图是一种几何形图表&#xff0c;它是根据从生产过程中收集来的质量数据分布情况&#xff0c;画成以组距为底边、以频数为高度的一系列连接起来的直方型矩形图&#xff0c;如图所示 二.ORACLE 直方图 在Oracle中直方图是一种对数据分布情况进行描述的工具。它…

怎样把MySQL的编码方式改为utf8?

一、当我们安装好MySQL后&#xff0c;单击电脑开始&#xff0c;然后运行cmd&#xff0c;记得必须要用管理员的身份运行。然后输入net start mysql 前面操作如果忘记采用管理员身份运行的话&#xff0c;会出现系统访问错误。 二、修改MySQL的编码方式为utf8 1、找到默认MySQL的安…

要更有钱、更烧钱,OpenAI 重组,加速融资之路

来源&#xff1a;AI 科技评论OpenAI 是一个非盈利性的 AI 组织&#xff0c;他们雇佣了许多一流的研究和开发人员&#xff0c;在机器学习理论和深度学习应用方面多有诸多成果&#xff0c;我们曾经报道过的许多强化学习连续控制成果、5v5 DOTA AI「OpenAI Five」、自动生成人类水…

MFC基于单文档制作吹彩色泡泡程序

1、代码如下&#xff1a; // 吹彩色泡泡Doc.h : interface of the CMyDoc class // /#if !defined(AFX_DOC_H__559CF0A7_41F7_48A5_A356_774764C0E60F__INCLUDED_) #define AFX_DOC_H__559CF0A7_41F7_48A5_A356_774764C0E60F__INCLUDED_#if _MSC_VER > 1000 #pragma once #e…

MFC制作贪吃蛇教程详解

写在前面的话 本次贪吃蛇教程主要知识点包括以下几个方面 1 CView类中的消息响应 2 控件的消息响应 3 基于CView类内的具体游戏实现 4 数组 5 游戏图形的实现用CDC类实现。 本版游戏的具体实现是在CViewl类中实现&#xff0c;所以其他…

人们对社会与金钱奖赏的预期共享神经环路

来源&#xff1a;神经科技摘要&#xff1a;在日常生活中&#xff0c;作为多种多样的目标导向行为的诱因&#xff0c;社会性奖赏与物质性奖赏扮演着同样重要的角色。2019年2月23日&#xff0c;国际神经科学杂志《Neuroscience & Biobehavioral Reviews》(影响因子&#xff1…

埃塞俄比亚空难,人机控制权争夺后的悲剧

来源&#xff1a;姬扬科学网博客2019年3月10日&#xff0c;埃塞俄比亚航空客机起飞后6分钟突然坠毁&#xff0c;机上157人死难、无人生还&#xff0c;包括8名来自中国大陆的旅客。这次失事的飞机是刚投入使用不久的波音737-MAX8&#xff0c;与去年十月份印度尼西亚航空失事的飞…

MFC制作员工信息管理系统

1.在MFC中建立如下的对话框。 2.修改相关控件的ID如下&#xff1a; 添加按钮的ID为&#xff1a;IDC_ADD,删除按钮的ID为&#xff1a;IDC_DEL&#xff0c;修改按钮的ID为&#xff1a;IDC_MOD。 三个编辑框的ID分别为&#xff1a;IDC_NUMB,IDC_NAME,IDC_SALA。列表控件的ID为&a…

中国AI创新者论坛将于3月21日在清华大学举办

来源&#xff1a;网易智能创新者是如何改变世界的&#xff1f;史蒂夫乔布斯生前在苹果产品发布会上&#xff0c;经常会用同一张幻灯片作为总结&#xff0c;在他身后的大屏幕上会出现一个路标&#xff0c;上面标示着“技术”&#xff08;Technology&#xff09;和“人文”&#…

边缘计算:5G 时代的万亿市场

来源&#xff1a;安信证券摘要&#xff1a;边缘计算将能力从云端下沉至边缘&#xff0c;有效支撑对时延等指标要求较高的城市、交通、家居、制造等场景应用落地&#xff0c;带来边缘节点、服务商两个核心增量机遇。▌边缘计算&#xff0c;5G时代的万亿市场边缘计算成为物理世界…

MFC创建模式对话框与非模式对话框

一、创建模式对话框 1、分别添加如下三个对话框&#xff0c;其ID分别为IDD_ABOUT、IDD_CHAT、IDD_MFCTEST_DIALOG 双击”关于“按钮&#xff0c;添加相应的消息函数如下&#xff1a; void CMFCTestDlg::OnAbout() {// TODO: Add your control notification handler code here…

Mobdata:2019大数据行业研究报告

来源&#xff1a;网络大数据未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&…

怎样在MySQL中显示中文,而不出现乱码?

1、首先修改MySQL的服务器的编码方式为utf8。具体怎样修改&#xff0c; 可以参考http://blog.csdn.net/ywxk1314/article/details/51280839 2、修改好之后&#xff0c;如果我们想查看数据表中的内容&#xff0c;我们会发现&#xff0c;表中原来的中文会出现部分乱码。如下图所示…

全球回报最好的 40 个 VC 投资案例,我们可以从中学到什么?

来源&#xff1a;IT桔子&#xff08;itjuzi521&#xff09;美国知名创投研究机构 CBInsights 日前发布文章《From Alibaba to Zynga: 40 Of The Best VC Bets Of All Time And What We Can Learn From Them》&#xff0c;统计了他们所认为的 VC 最好回报的 40 个案例&#xff0…