【JavaScript入门-18】JacaScript中的数组

举报
搞前端的半夏 发表于 2022/04/30 22:03:41 2022/04/30
【摘要】 什么是数组?数组用于保存顺序重要的项目列表。数组中的每一件事都称为一个项目,它在数组中的位置称为索引。数组中的项目数称为长度。数组中的每一项都可以是任何类型。它可以是字符串、数字、布尔值、对象、另一个数组、嵌套数组,应有尽有。我们将使用一个名称列表的示例来演示如何创建一个数组。大括号用于对象,方括号[]用于注意我们正在创建数组或*数组文字**。const name = [];你也可以用长手创...

什么是数组

数组用于保存顺序重要的项目列表。

数组中的每一件事都称为一个项目,它在数组中的位置称为索引

数组中的项目数称为长度

数组中的每一项都可以是任何类型。它可以是字符串、数字、布尔值、对象、另一个数组、嵌套数组,应有尽有。

我们将使用一个名称列表的示例来演示如何创建一个数组。

大括号用于对象,方括号[]用于注意我们正在创建数组或*数组文字**。

const name = [];

你也可以用长手创建一个数组,就像你可以用一个字符串、一个数字、一个对象等一样,像这样

const names = new Array();

要在数组中创建项目,我们可以简单地这样做

const names = ['张三', '李四', '王五'];

我们在那里所做的是创建了一个包含 3 个项目的数组,每个项目用逗号分隔。

继续并在浏览器中打开页面并查看控制台中的数组。

image-20220430220012596

这是我们的数组。

它看起来很像一个对象,但正如我们所见,它没有键,这是数组和对象之间的主要区别。

数组没有键。键将始终是表示 0、1、2、3、4、5 的索引。

需要提到的一件事是,如果我们在控制台中输入typeof names,我们将得到“对象”返回。

image-20220430220034231

typeof names是一个对象??

归根结底,数组实际上只是一个对象,这意味着它可以保存数据并在其中拥有一堆方法。

如果你确实需要检查某个东西是否是一个数组,你可以这样做

Array.isArray(names)

这将返回真或假,具体取决于我们传递的是什么(在这种情况下names,是一个数组)。

这就是我们稍后会了解的静态方法。

所以你有names数组,但是你如何访问它里面的东西呢?我们不能像对对象执行属性那样访问它,因此类似的东西name.张三不起作用。

如果要访问数组内部的内容,请使用索引。

console.log(names[1]);

你认为这会返回数组中的第一项吗?

如果你猜是,那你就错了!如果你刷新,你会看到“李四”。

为什么?

因为数组是所谓的从零开始的。这意味着计数从 0 开始。

如果要检查数组中有多少项,可以使用.length. 那不是从零开始的。

如果我们刷新 HTML 页面并查看控制台,我们应该会看到以下内容 👇

image-20220430220137510

因此,如果我们想访问数组中的项目,它是从零开始的,但是如果我们.length用来检查数组中有多少项目,它不是从零开始的。

如果你想得到数组中的最后一项,你可以这样做`console.log(names[2]);,但如果你不知道数组有多长怎么办?

当我们需要访问数组中的最后一项但不知道有多少时,我们可以像这样使用 length 属性👇

console.log(names[names.length - 1]);
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。