热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

js教程-javascript数组

数组是数据的集合,在内存中,是一块连续内存的地址;js的数组分为一维数组和多维数组

Javascript 的数组

一.什么是数组

数组是数据的集合,在内存中,是一块连续内存的地址;js的数组分为一维数组和多维数组。

1. 关于数组的创建

  • var arr=[值1,值2,值3];
  • var arr=new Array(值1,值2,值3);  
  • var array=new Array(size);



/定义了一个叫arr1的数组
//里面有三个数组元素
//它们的值分别为zhangsan、lisi、wangwu
var arr1=['zhangsan','lisi','wangwu'];
//定义了一个叫arr2的数组
//里面有二个数组元素
//它们的值分别为xiaoqiang、wangcai
var arr2=new Array('xiaoqiang','wangcai');
//定义了一个叫arr3的数组
//里面有三个数组元素
//它们现在的值都为空
var arr3=new Array(3);
//进一步对js中定义数组进行解释
var str='hello'; //它其实也是String类的类对象,所以还可以写成
var str1=new String('hello');
var a1=[1,2,3,4]; //它其实也是Array类的类对象,所以还可以写成
var a2=new Array(1,2,3,4);
var i1=10; //其实i是Number类的类对象,所以还可以写成
var i2=new Number(10);

Typeof :测试数据类型二.测试数据类型



var age=10;
var name='xiaoqiang';
var marry=true;
var arr=[10,'xiaoqiang',true];
document.write(typeof age);
document.write('
'); document.write(typeof name); document.write('
'); document.write(typeof marry); document.write('
'); document.write(typeof arr);
数组名.属性在JS中,数组变量属于object数据类型(对象数据类型),属于Array类的类对象,所以数组可以这样来使用:


数组名.方法();

1. 数组长度

  • length :表示数组长度(数组元素个数)
js教程

在Js中,数组的长度是可以动态设置的

如:给一个数组增加长度,那么这个数组的元素个数也增加

如:将一个数组长度减少,那么会从数组末发尾去掉相应的元素

php教程

三.遍历数组

在js中,要对数组进行遍历,有两种方法:

1) for循环

js数组

2) for…in语句 js数组遍历专用

  • for( var i in array ){

}

js教程

注释:如果一个数组中有文本下标,那么在使用for循环取值时,将不能输出对应的文本下标元素,尽量使用for...in语句来遍历这种数组

四.文本下标

  • 格式::arr[‘key’]
  • 文本下标的数组元素不计入数组长度
php教程
  • 需要使用for...in语句进行遍历 
php教程
  • 可以使用对象名.调用文本下标 调用元素
js数组

#p#php教程-Javascript编程-数组函数#e#

五.数组相关函数

1.添加数组元素

  • arrayObject.push(newelement1,newelement2,....,newelementX)  在数组末尾添加一个或多个数组元素
  • arrayObject.unshift(newelement1,newelement2,....,newelementX)  在数组开头添加一个或多个数组元素
  • arrayObject.splice(index,howmany,element1,.....,elementX) 在数组某个位置添加一个或多个数组元素

Index:位置

Howmary:替换多少个,(设置为0)

php教程

2. 删除数组元素

  • arrayObject.pop() 删除最后一个数组元素
  • arrayObject.shift() 删除第一个数组元素
  • arrayObject.splice(index,howmany) 删除指定位置个数的元素

Index:删除的起始位置

Howmary:多少个


//定义一个数组
var arr=['zhangsan','lisi','wangwu'];
//将wangcai添加至数组的最后
arr.push('wangcai');
//打印元素值
display(arr);
//将xiaoqiang添加至数组的开头,数组自动重新排列下标
arr.unshift('xiaoqiang');
//打印
display(arr); 
//将这两个元素从第2个位置插入至数组
arr.splice(2,0,'huangliu','huqi');
display(arr);
arrayObject.slice(start[,end])  截取数组一部分3. 数组的截取或合并


Start:开始位置

End:结束位置 (-1)

  • arrayObject.concat(arrayX,arrayX,......,arrayX) 合并数组

数组的添加和删除是指直接对数组变量进行更新操作

数组的截取或合并会返回一个新的数组   


var arr=['zhangsan','lisi','wangwu','xiaoqiang','wangcai'];
//2:起始位置
//4:终止位置,但需要-1,所以这里的位置是3
arr1=arr.slice(2,4);
display(arr1);
 //将arr数组和arr2数组中的元素进行合并 
var arr2=['huangliu','huqi'];
//将合并之后的数组放入到arr3中
var arr3=arr.concat(arr2);
display(arr3);
arrayObject.sort() 排序,默认按升序排列3. 数组元素排序


  • arrayObject.reverse() 倒转数组元素
js数组函数

4. 数组与字符串转换相关函数

  • arrayObject.join(separator) 使用指定的分隔符连接数组元素,最后返回字符串
  • stringObject.split(separator, howmany) 将字符串按照指定的分隔符进行分割,最后返回字符串


//定义一个数组
 var arr=['zhangsan','lisi','wangwu','xiaoqiang','wangcai'];
 //用-_-符号为分隔符将数组元素进行连接,并返回一个字符串
 var str=arr.join('-_-');
 //打印字符串
 document.write(str+'
'); //定义一个字符串,使用|分隔 var str='zhangsan|lisi|wangwu'; //按照|为分隔符进行切割,并返回一个新数组 var arr1=str.split('|'); //打印数组 display(arr1);

提示:六. 作业:用js完成一个地区2级联动。


Option类:(选项类)

  • l var 对象=new Option(文本[,值]);
  • 对象名.options

options:选项对象集合

  • 对象名.options.add(选项对象) 添加选项


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Echarts图表重复加载、axis重复多次请求问题解决记录
    文章目录1.需求描述2.问题描述正常状态:问题状态:3.解决方法1.需求描述使用Echats实现了一个中国地图:通过选择查询周期&#x ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 夏侯惇在曹魏集团的地位及其重要性
    本文介绍了夏侯惇在曹魏集团中的地位及其重要性。夏侯惇虽然没有特别显赫的战绩,但是他是曹操最信任的军事将领。通过对夏侯惇生平经历的回顾,可以看出他在曹魏集团的重要地位。从曹魏集团的二号人物到裨将、司马等职位的担任,夏侯惇一直是曹操最亲信的人之一。夏侯惇的历史地位在曹魏集团中不可忽视。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 给定一个二维平面上的一些点,通过计算曼哈顿距离,求连接所有点的最小总费用。只有任意两点之间有且仅有一条简单路径时,才认为所有点都已连接。给出了几个示例并给出了对应的输出。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
author-avatar
mobiledu2502857983
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有