首页 > 编程语言 >javascript学习 - 数组应用

javascript学习 - 数组应用

时间:2024-08-01 19:56:52浏览次数:10  
标签:arr javascript console log 元素 学习 数组 var

什么是数组

之前的学习中,如果我们要存储一个值,一般都是通过变量来存储。但如果我们现在想要存储一系列的值,又该如何存储呢,你可能会说可以用多个变量来进行存储。这种方法也可以,但如果你想,一旦值过多,那岂不是就要多个变量,到时候管理就很混乱了。这时候就想,有没有一个可以存储多个值的数据结构,方便我们进行多个值的存储管理呢?

针对上面这一需求,提出了数组这一数据结构。

数组是指一组数据的集合,数组中的每个数据被称为元素,而且数组中可以存放任意类型的元素。通过使用数组,当我们需要存储多个值时,就可以不用再去多个创建变量,而只需要创建一个数组就好了。

var num = 1;
var arr = [1, 2, 3, 4, 5];

如何创建数组

既然知道了数组这种数据结构,那怎么才能创建一个数组呢。这里主要用两种方式:

  • 利用关键字 new 创建数组。
  • 利用数组字面量创建数组。

利用 new 创建数组

这里其实跟 JavaScript 中的面向对象相关,和 Java 中也类似,其语法结构为:

var 数组名 = new Array();

除了数组名,其他都是固定的,通过这种方式,我们就创建了一个新的空数组,此时中没有任何元素,数组长度为 0。

var arr = new Array();
console.log(arr);

利用数组字面量创建数组

除开利用关键字 new 来创建数组之外,也可以利用字面量来创建数组,其语法结构如下:

var 数组名 = [];

通过这种方式所创建的数组也是一个空数组,效果和利用 new 创建空数组一样,此时数组长度为 0,里边没有任何元素。

var arr = [];
console.log(arr);

此外,还可以创建带有初始值的数组,其中的各个元素用逗号 , 分隔,其语法结构如下:

var 数组名 = [value1, value2, value3];
var arr = ['萝莉酱', 'paofu1943', '泡芙'];
console.log(arr);

通过字面量的方式,我们就创建了一个含有三个初始值的数组。

获取数组中元素

创建好了数组,接下来就是如何拿到数组里边的元素了。JavaScript 中,是通过索引(下标)来访问数组中的元素的。需要注意的是,数组索引是从 0 开始的,而不是从 1 开始。

var arr = ['萝莉酱', 'paofu1943', '泡芙'];
// 萝莉酱
console.log(arr[0]);

以上的实例中,我们通过索引获取到了数组中的第一个元素 村雨遥

通过索引不仅能访问数组元素,还能设置和修改数组元素,通过 数组名[索引] 的形式即可实现。

var arr = ['萝莉酱', 'paofu1943', '泡芙'];
// 萝莉酱
console.log(arr[0]);
// 修改数组元素
arr[0] = '泡芙1943'
// 泡芙1943
console.log(arr[0]);

遍历数组

如果要拿到数组中的所有元素,那是不是得一个一个以 数组名[索引] 的形式来获取呢?答案是,不用!

还记得我们之前学习的循环么,通过循环,我们就能十分简单地实现获取数组所有元素。

不过在那之前,我们还可以学习下如何获取数组的长度,数组提供了一个属性 length,通过该属性,我们就能获取到数组的长度(即数组中元素个数)。

var arr = ['萝莉酱', 'paofu1943', '泡芙'];
// 3
console.log(arr.length);

接着,我们就可以通过循环来获取到数组中的所有元素了。

var arr = ['萝莉酱', 'paofu1943', '泡芙'];
for(var i = 0; i < arr.length; i++){
    console.log(arr[i]);
}

数组新增元素

学习了创建数组、如何获取数组元素以及遍历数组,接下来就来看看,如何往初始化后的数组中新增元素。

先来看看第一种,我们修改数组的长度,然后再往数组里边新增元素。

var arr = ['萝莉酱', 'paofu1943', '泡芙'];
console.log(arr.length);
arr.length = 4;
console.log(arr.length);
arr[3] = '泡芙1943';
console.log(arr);

通过实例结果可以看到,通过修改数组长度奏效了,数组长度从一开始的 3 变成了 4,而且数组中增加元素也成功了。

再来看看第二种,我们通过修改索引号的方式来增加数组元素。

var arr = ['萝莉酱', 'paofu1943', '泡芙'];
console.log(arr.length);
arr[3] = '泡芙1943';
console.log(arr);
console.log(arr.length);

同样达到了往数组中新增元素的效果,区别在于没有事先修改数组长度,而是直接修改数组索引的方式来增加元素。

需要注意的时,在向数组中增加元素时,不能利用数组原有的索引来增加元素,否则会修改掉数组原有元素。

var arr = ['萝莉酱', 'paofu1943', '泡芙'];
// 会修改掉数组中原有元素
arr[1] = '泡芙1943';
console.log(arr);

总结

以上就是今天的所有内容了,主要从数组的定义、如何创建数组、如何获取数组中元素、遍历数组以及新增数组元素几个方面总结了数组的知识点。关于更多数组的操作,期待大家和我一起去探索发现!

标签:arr,javascript,console,log,元素,学习,数组,var
From: https://blog.csdn.net/paofuluolijiang/article/details/140739578

相关文章

  • javascript学习 - 流程控制
    一个程序中,各个代码之间的执行顺序对于程序结果是会造成影响的。就拿下面简单的例子来说,假如我们拿先使用num这个变量然后再定义和先定义变量再使用相比。先使用再定义会报错undefined,而定义再使用就没有问题。也就是说,代码的先后顺序会对我们的程序结果造成直接影响。c......
  • PCIe学习笔记(11)
    TPH规则•TPH指定了两种格式。所有提供TPH的请求都必须使用Baseline(基线)TPH格式。带有可选TPHTLP前缀的格式扩展了TPH字段,为SteetingTag(转向标签,ST)字段提供了额外的位,此时,TLPheaderByte0-3如下图。•可选的TPHTLPPrefix用于扩展TPH字段。◦TPHTLP前缀的存在是......
  • PCIe学习笔记(14)
    Vendor_Defined消息Vendor_DefinedMessages允许扩展PCIExpress消息传递功能,既可以作为PCIExpress规范的一般扩展,也可以作为特定于供应商的扩展。此处定义与这些消息关联的规则。MessageCode数量有限,PCIE协议定义了VDM(VendorDefinedMessage),以此来扩展Message种类。......
  • 当费曼技巧邂逅 AI,强势征服所有学习领域
    作者:老余捞鱼原创不易,转载请标明出处及原作者。写在前面的话:    本文通过诺奖获得者费曼的方法加上应用人工智能,用四个简单的步骤可以研究学习任何领域的知识。    你上次遇到一门很难学的科目是什么时候?或者你花了很多时间来看哔哩哔哩视频学习如何更好......
  • [学习笔记] 斜率优化
    引入斜率优化用于求解类似于\(f_i=f_j+a_ib_j+c_i\)使\(f_i\)最大或最小之类的形式的DP转移,标志就是其中有一项(如\(a_ib_j\))与\(i,j\)均有关联。求解令\(j\)为\(i\)的最优决策点,也就是\(f_i=f_j+a_ib_j+c_i\),我们将其进行一些移项可以得到\(f_j=-......
  • javascript: vue create project in WebStorm
     route/index.js import{createRouter,createWebHistory,createWebHashHistory}from'vue-router'importHomeViewfrom'../views/HomeView.vue'importAboutViewfrom"../views/AboutView.vue";constrouter=createRouter(......
  • 重头开始嵌入式第八天(字符串,二维数组)
    今天继续介绍字符数组以下是一些常见的C语言字符串处理函数的介绍、函数本体、返回值、用法及实现示例: 以下是 puts 和 gets 函数的介绍、函数本体、返回值、用法及实现示例:字符处理函数puts() 函数-函数意思:将字符串输出到标准输出(通常是屏幕)并换行-函数......
  • 学习笔记第十六天
    1.结构体        1.1结构体的定义        结构体(Struct)是C语言中一种重要的复合数据类型,允许将不同类型的数据项组合成一个单一的类型。定义结构体使用struct关键字,其基本语法为:structStudent{         成员列表;};         //;不......
  • py调用webservice array数组老是为空的问题
    pythonwebserbiceserverimportloggingfromflaskimportFlaskfromspyne.applicationimportApplicationfromspyne.protocol.soapimportSoap11fromspyne.server.wsgiimportWsgiApplicationfromwerkzeug.servingimportrun_simplefromwerkzeug.middleware......
  • 探索机器学习之美:使用Scikit-learn进行模型可视化
    探索机器学习之美:使用Scikit-learn进行模型可视化在机器学习的世界里,模型的可视化是一个强大的工具,它可以帮助我们更好地理解模型的行为和决策过程。Scikit-learn,作为Python中最受欢迎的机器学习库之一,提供了多种方法来进行模型的可视化。本文将详细介绍如何使用Scikit-lea......