0

0

重新构建一个数组

PHPz

PHPz

发布时间:2023-09-03 08:37:11

|

635人浏览过

|

来源于php中文网

原创

重新构建一个数组

数组是一个有序的值列表,通常是为了循环遍历数字索引值而创建的,从索引零开始。您需要知道的是,数组是按数字顺序排列的集合,而不是具有与非数字顺序的值关联的属性名称的对象。本质上,数组使用数字作为查找键,而对象则具有用户定义的属性名称。 JavaScript 没有真正的关联数组,但可以使用对象来实现关联数组的功能。

在下面的示例中,我将四个字符串存储在 myArray 中,我可以使用数字索引访问它们。我将 myArray 与模仿关联数组的对象文字进行比较和对比。

示例:sample133.html


数组可以保存任何类型的值,并且这些值可以随时更新或删除。

如果您需要哈希(也称为关联数组),对象是最接近的解决方案。

Array() 只是 Object() 的一种特殊类型。也就是说, Array() 实例基本上是 Object() 实例,带有几个额外的函数(.length 和内置数字索引)。

数组中包含的值通常称为元素。


Array() 参数

您可以将数组实例的值作为逗号分隔的参数传递给构造函数 (new Array('foo', 'bar');)。 Array() 构造函数最多可以使用 4,294,967,295 个参数。

但是,如果只有一个参数发送到 Array() 构造函数,并且该值为整数('1'、'123' 或 '1.0'),则它将用于设置 数组的length,并且不会用作数组中包含的值。

示例:sample134.html



Array() 属性和方法

Array() 对象具有以下属性(不包括继承的属性和方法):

属性(Array.prototype):

  • 原型

数组对象实例属性和方法

数组对象实例具有以下属性和方法(不包括继承的属性和方法):

实例属性 (var myArray = ['foo', 'bar']; myArray.length;):

  • 构造函数
  • 长度

实例方法 (var myArray = ['foo']; myArray.pop();):

  • pop()
  • push()
  • 反向()
  • shift()
  • sort()
  • splice()
  • unshift()
  • concat()
  • join()
  • slice()

创建数组

与 JavaScript 中的大多数对象一样,可以使用 new 运算符结合 Array() 构造函数或使用文字语法来创建数组对象。

在以下示例中,我使用 Array() 构造函数创建具有预定义值的 myArray1 数组,然后使用文字表示法创建 myArray2

示例:sample135.html


更常见的是使用文字语法定义数组,但应该注意的是,这个快捷方式只是隐藏了 Array() 构造函数的使用。

实际上,数组文字通常就是您所需要的。

无论数组是如何定义的,如果您没有向数组提供任何预定义值,它仍然会被创建,但不会包含任何值。


添加和更新数组中的值

可以随时将值添加到数组的任何索引处。在下面的示例中,我们向空数组的数字索引 50 添加一个值。 50之前的所有指数呢?嗯,就像我说的,您可以随时在任何索引处向数组添加值。但是,如果您向空数组的数字索引 50 添加一个值,JavaScript 将使用 undefined 值填充其之前的所有必要索引。

示例:sample136.html

Cursor
Cursor

一个新的IDE,使用AI来帮助您重构、理解、调试和编写代码。

下载

此外,考虑到 JavaScript 的动态特性以及 JavaScript 不是强类型的事实,数组值可以随时更新,索引中包含的值可以是任何合法值。在下面的示例中,我将数字索引 50 处的值更改为一个对象。

示例:sample137.html



长度与索引

数组从零开始索引值。这意味着数组中保存值的第一个数字槽看起来像 myArray[0]。这可能有点令人困惑,如果我创建一个包含单个值的数组,该值的索引为 0,而数组的长度为 1。请确保您了解数组的长度表示数组中包含的值的数量,而数组的数字索引从零开始。

在以下示例中,字符串值 blue 包含在 myArray 数组中的数字索引 0 处,但由于该数组包含一个值,因此该数组的长度为 1。

示例:sample138.html



使用预定义的 length 定义数组

正如我之前提到的,通过将单个整数参数传递给 Array() 构造函数,可以预定义数组长度或其将包含的值的数量。在这种情况下,构造函数会抛出一个异常,并假设您要设置数组的长度,而不是用值预先填充数组。

在下一个示例中,我们设置了预定义长度为 3 的 myArray 数组。同样,我们配置数组的长度,而不是向其传递要存储在 0 索引处的值。

示例:sample139.html


提供预定义的 length 将为每个数字索引(最多指定的长度)提供 undefined 的关联值。

您可能想知道是否可以创建一个仅包含一个数值的预定义数组。是的,它是通过使用文字形式 var myArray = [4].


设置数组长度可以添加或删除值

数组对象的 length 属性可用于获取或设置数组的长度。如前所示,设置长度大于数组中包含的实际值数会将 undefined 值添加到数组中。您可能没想到的是,您实际上可以通过将长度值设置为小于数组中包含的值的数量来从数组中删除值。

示例:sample140.html



包含其他数组的数组(又名多维数组)

由于数组可以保存任何有效的 JavaScript 值,因此数组可以包含其他数组。完成此操作后,包含封装数组的数组将被视为多维数组。访问封装的数组是通过括号链接完成的。在下面的示例中,我们创建一个包含一个数组的数组文字,在其中创建另一个数组文字,在其中创建另一个数组文字,其中包含索引 0 处的字符串值。

示例:sample141.html


这个代码示例相当愚蠢,但您会明白数组可以包含其他数组,并且您可以无限期地访问封装的数组。


前后循环数组

循环数组的最简单且可以说是最快的方法是使用 while 循环。

在下面的代码中,我们从索引的开头循环到结尾。

示例:sample142.html


现在我们从索引末尾循环到开头。

示例:sample143.html



结论

现在,如果您想知道为什么我没有在这里显示 for 循环,那是因为 while 循环的移动部分较少,而且我相信它们更容易阅读。

关于数组的这篇文章就这样结束了。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1498

2023.10.24

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

231

2024.02.23

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

87

2025.10.17

sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

391

2023.09.04

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

94

2023.09.25

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

298

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1498

2023.10.24

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.9万人学习

Django 教程
Django 教程

共28课时 | 3.5万人学习

Excel 教程
Excel 教程

共162课时 | 13.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号