js 取得数组下标_数组的介绍及使用

JavaScript 中的数组常用于在单个变量中存储多个值。数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存)。创建数组的目的就是为了保存更多的数据。

数组概念和语法

概念:数组是一个特殊变量,一次可以容纳多个值。

特点:有顺序,有长度。

作用:使用单独的变量名来存储一系列的值。

语法如下所示:

var array_name = [item, item2, item3, ...];

其中 array_name 就是数组名,其实就是变量名,而数组中的元素全部是包围在中括号 [] 内,元素中间使用逗号分隔。数组中的元素可以是任意类型,类型可以是不同的。

创建数组

在 JavaScript 语言中,要创建一个数组,最常用的方式,我们可以使用字面量来创建。

示例:

创建一个简单的数组,数组名为:

var array1 = ["HTML", "VUE", "JAVASCRIPT", "CSS"];

代码中的空格和换行符并不是重要的,声明多个值时我们还可以跨越多行:

var array2 = [    "HTML",    "VUE",    "JAVASCRIPT",    "CSS"];

除此之外,我们还可以使用关键字 new 来创建数组:

var array3 = new Array();arrs[0] = 1;arrs[1] = 2;arrs[2] = 3;console.log(array3);// 输出:[ 1, 2, 3 ]

这种方式还有另一种简洁写法,就是直接在 Array 后面的小括号中添加值:

var array4 = new Array("xkd", "summer", "jack");console.log(array4);// 输出:[ 'xkd', 'summer', 'jack' ]

访问数组

我们可以通过数组名以及数组下标访问数组中的元素。因为数组是有序的,因此它就会相对应有自身的序号,而这个序号就是每个元素对应的下标(也叫做索引),数组的下标是从零开始,到数组长度减一结束 。比如说数组中第一个元素的索引为0、第二个为1、依次类推。

示例:

访问数组 name 中索引为 0 的元素的值,并输出这个值:

var username = ["Iven", "Eric", "Tony", "Hter", "John"];console.log("数组下标为0的字符输出结果为:" + username[0]);   // 输出:Iven

访问数组中的最后一个元素,并输出这个值:

var name = ["Iven", "Eric", "Tony", "Hter", "John"];var last = name[name.length - 1];console.log(last);// 输出:John

数组长度

数组与字符串一样也有长度,我们可以通过 length 属性获取数组的长度,数组的长度是指数组中存放的元素个数。并且数组的长度始终大于数组的最高数索引。

示例:

分别定义一个字符串和数组,然后输出这个字符串和数组的长度:

var arr1 = '新版侠课岛即将推出';console.log("长度为:" + arr1.length);       // 长度为:9    var arr2 = ["Iven", "Eric", "Tony", "Hter", "John"];console.log("长度为:" + arr2.length);     // 长度为:5

数组取值和赋值

除了可以获取数组的长度,我们还可以通过下标索引获取元素的值,格式为 数组名[下标]。

示例:

例如我们定义一个数组 arr,然后获取索引为 0、3 的位置所对应的值:

var arr = ["王语嫣", "段誉", "萧峰", "虚竹"];console.log(arr[0]);    // 王语嫣 console.log(arr[3]);    // 虚竹

因为下标的范围是 0 到数组长度减一(arr.length-1),所以如果下标不存在,则会返回 undefined。

示例:

例如上述的数组 arr 下标最大值为 3,那么我们获取下标为 4 的元素的值,则输出undefined:

console.log(arr[4]);    // undefined

我们还可以通过 数组名[下标] = 值 的格式给数组赋值,而如果指定下标已经有对应的值,则会把原来的值覆盖。

示例:

例如数组 arr2 中,下标为 5 的元素为 “殷离”,此时我们使用 arr2[5] = "金毛狮王",则会覆盖 “殷离”的值:

var arr2 = ["周芷若", "赵敏", "张无忌", "宋青书", "灭绝师太", "殷离"];arr2[5] = "金毛狮王";  // 把 "殷离" 替代了"金毛狮王"

而如果元组中没有指定下标元素,则会给数组新增一个元素值:

arr2[6] = "杨不悔";  // 给数组新增加了一个 "杨不悔" 的值console.log(arr2);

在浏览器中,执行代码,输出改变后的数组arr2:

f1084f6115dce0d217085fec4b3bd87d.png

遍历数组元素

之前其实我们学习循环的时候就讲过数组的遍历,遍历数组最常用的就是 for 循环。

示例:

首先定义一个数组,然后通过 for 循环将数组以无序列表的形式遍历输出:

JS_侠课岛(9xkd.com)

在浏览器中打开:

406c77f60df9982da36e93ad35a9d37b.png

上述代码中,我们在 JavaScript 代码插入了 HTML 代码,使得数组 lst 在浏览器中的输出是一个无序列表的样式。

动手小练习

  1. 定义一个数组,分别输出数组的长度和多个下标值。
  2. 把1-100之间所有的奇数,放到数组中。
  3. 把1-100之间能被3整数的数字,存到数组中。
  4. 求一组数中的所有数的和以及其平均数。

链接:https://www.9xkd.com/

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

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

相关文章

bigdecimal取小数部分_小数精度丢失问题分析和解决

无论在什么业务中,钱?是非常重要的东西,对账的时候一定要对的上,不能这边少一分钱那边多一分钱。对于数值的计算,尤其是小数,floate和double都是禁止使用的。阿里强制要求存放小数时使用 decimal,禁止使用…

使用LinkedList模拟一个堆栈或者队列数据结构

使用LinkedList模拟一个堆栈或者队列数据结构。 堆栈:先进后出 如同一个杯子。 队列:先进先出 如同一个水管。 import java.util.LinkedList;public class DuiLie {private LinkedList link;public DuiLie() {link new LinkedList();}public void m…

k40游戏增强版服务器维护中,Redmi K40 游戏增强版发布,第四台 K40 出现了

原标题:Redmi K40 游戏增强版发布,第四台 K40 出现了今晚 Redmi 发布了旗下的新款游戏手机 —— Redmi K40 游戏增强版,这也是K40、K40 Pro、K40 Pro 之后的又一款 K40 产品,主打的是专游戏功能和轻薄设计。Redmi K40 游戏增强版使…

mpvue微信小程序动画_入门微信小程序

为何现在的微信小程序还是高温不退?主要原因如下:无需安装、不占内存、易传播。废话不多说,开始进入开发!-----------小程序环境搭建-----------------------------------账号注册百度搜索 "微信公众平台"官网地址&…

瀑布流式布局

今天终于搞懂了瀑布流式布局,哈哈,总结下 瀑布流式布局分为两种类型:1、每一列都限定宽度不限定高度的布局(使用浮动)2、宽度不是写死的,是根据页面的放大缩小变化的(定位布局) 瀑布…

物理服务器备份系统,物理备份和逻辑备份区别

物理备份和逻辑备份区别 内容精选换一换可能这份面试题还不足以包含所有Java问题,但有了它,我相信你一定不会“败”的很惨,有了它,足以应对目前市面上绝大部分的Java面试了,因为这些问题不论是从深度还是广度上来讲&am…

dd命令iso linux_BootISO:从 ISO 文件中创建一个可启动的 USB 设备

今天,我们将讨论名为 BootISO 的实用程序类似工具。它是一个简单的 bash 脚本,允许用户来从 ISO 文件中创建一个可启动的 USB 设备。-- Prakash Subramanian(作者)为了安装操作系统,我们中的大多数人(包括我)经常从 ISO 文件中创建一个可启动…

java基础-接口

转载于:https://www.cnblogs.com/ceshi2016/p/6025027.html

gwt入门和进阶_GWT入门

gwt入门和进阶GWT是Google Web Development Kit的缩写,可让程序员使用Java开发Ajax Web应用程序。 GWT编译器将Java代码转换为JavaScript和html代码。 GWT应用程序称为模块,并且使用xml文件描述模块,假设该模块名称为xml文件的“ mymodule”名…

workbook加载文件路径_通过Workbook.XML 修复Excel自定义名称

小伙伴们经常想求助IT 提升打开Excel的速度, 标准回答是:重启。其实Excel 中影响打开速度的几个因素:1. 公式 2. 链接 3. 自定义名称 自定义名称常常被人忽视,里面经常隐藏着众多错误,而且有很多的名称是隐藏的&#x…

将IDE检查应用于自定义Java批注

J2SE 5中注释的引入改变了我们编写和处理Java的方式。 除了Java SE的预定义注释外 ,框架,IDE和工具包还引入了自己的自定义注释 。 Checker框架提供了一些示例,说明如何使用自定义注释在Java中增加类型安全性 。 在本文中,我着眼于…

有什么用_app用什么软件编写

自己咋开发APP这得看你的学习程度了,如果你学了安卓开发那么久按照教程来吧,如果没有学过,那么就看看我的回答是不是贴题意的。比较快的开发app方式。接入任意后台,通过HBuilder封装成app。2.使用MUI,借用官方的组件代…

Git 初始化版本库

创建带工作区的版本库 在开始一个新项目时,首先就要创建并初始化代码库。如果是在本机的工作目录中,那么: $ git init 也就够用了。如果想要初始化的版本库不在当前目录,需要为 git init 命令指定版本库所在的目录: $ …

如果今天完成,ESB会是什么样子?

JavaOne 2015即将结束,这又是一次很棒的社区活动。 我和Rafael进行了两次会议和HOL 。 我最喜欢的会议之一实际上是:关于ESB(如果今天完成的话)的样子。 我以为那是过去? 我通常也倾向于这样说。 但是,系统…

线程间的通信 设置线程等待与线程唤醒

代码实现上述框图: 1 //等待唤醒机制2 3 /*4 wait(),notify(),notifyAll()必须用在同步中,因为同步中才有锁。5 指明让持有那个锁的线程去等待或被唤醒,例如object.wait(),表明让持有object这把锁的线程等待。6 7 wait():让线程进入等待状态&…

centos6.8升级python3.5.2

1.查看系统python版本 [rootmyserver01 Python-3.5.2]# python -V Python 2.6.6 2.升级3.5.2 A.下载:wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 或者在浏览器下载(选择Linux/UNIX平台,选择3.5.2版本) B.编译…

gwt的mvp模式_GWT MVP变得简单

gwt的mvp模式GWT Model-View-Presenter是用于大规模应用程序开发的设计模式。 它源于MVC,它在视图和逻辑之间进行划分,并有助于创建结构良好,易于测试的代码。 为了帮助像我这样的懒惰开发人员,我研究了如何减少使用声明式UI时要编…

简记用ArcGIS处理某项目需求中数据的步骤

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目需求涉及如下几个步骤: a.矢量化 b.获取范围内要素 c.合并要素 d.简化要素 e.获取范围外要素。 2. 矢量化 新建图层 开启编辑&am…

企业应用程序集成简介

本文是我们名为“ Spring Integration for EAI ”的学院课程的一部分。 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来,您将深入研究Spring Integration的基础知识,例如通道,转换器和适…

win7 网络端口怎么设置_教你win7如何设置网络共享文件夹

网络共享是以PC机为载体的信息资源共享。如果我们想让其他人共享我们的文件夹,我们需要进行一些设置。今天,我将分享在win7系统中设置网络共享文件夹的方法现在大多数家庭都使用win7系统,它简化了很多设计,使用起来也很方便。它不…