JavaScript:数据结构(第一部分 - 数组)
数据结构:数组、集合和映射。
数据结构用于存储值列表,这些数据结构包括数组、集合和映射。但究竟什么是数据结构呢?根据维基百科的定义,“在计算机科学中,数据结构是一种在计算机中组织数据的特定方式,以便高效地使用数据”。对此,我想补充的是,使用逻辑语句可以控制程序的流程,而循环则可以根据需要在代码中重复执行代码块。
数组数据结构
数组数据结构(简称数组)是一个有序的值列表,或者说是由索引或键标识的元素(值或变量)集合。最简单的数组数据结构是线性数组。
创建数组字面量需要编写一对方括号。
例子:
const myArray = [ ];
<< [ ]
我们可以添加一个构造函数
例子:
const myArray = new Array( );
<< [ ]
数组不是原始值,而是一种特殊的内置对象,就像使用“typeof”运算符时一样:
typeof [ ];
<< ‘object’
初始化数组
但是,我们如何初始化一个数组呢?我们可以创建一个空数组字面量。
例子:
const heroes = [ ];
现在,我们可以找到英雄数组中元素 0(零)的值。
heroes [0]; // to access a specific value in an array, we write its index inside the square brackets
<< undefined
向数组中添加值
通过赋予元素 0(零)来放置一个新字符串。
例子:
heroes[0] = ‘Superman’;
我们可以将数组中的元素视为变量,并使用赋值运算符 = 来改变其值。
例子:
heroes[0] = ‘Batman’;
我们可以使用不同的索引添加更多值:
heroes[1] = ‘Wonder Woman’;
heroes[2] = ‘Flash’;
heroes[5] = ‘Aquaman’;
您可以重复此操作,直到将您想要或需要的所有元素添加到数组中。
然后,你可以在控制台中输入数组名称(heroes)来查看你的数组。
heroes;
<< [‘Batman’, ‘Wonder Woman’, ‘Flash’, undefined, undefined, ‘Aquaman’]
你可以看到,那些被分配了索引的元素会按其名称出现在列表中,但任何其他未使用的槽位都显示为未定义。
创建数组字面量
我们可以创建数组字面量,避免逐个添加值。
例子:
const avengers = [‘Captain America’, ‘Iron Man’, ‘Thor’, ‘Hulk’];
<< [‘Captain America’, ‘Iron Man’, ‘Thor’, ‘Hulk’]
从数组中移除值
使用“delete”运算符可以从数组中删除一个元素。
例子:
delete avengers[3];
<< true
该操作将删除索引 3(“Hulk”)中存储的值,但也会将该索引标记为未定义,因为即使删除一个值,空间仍然存在,这意味着数组仍然具有相同数量的元素,但我们删除的元素将变为未定义。
avengers;
<< [‘Captain America’, ‘Iron Man’, ‘Thor’, ‘undefined’]
解构数组
解构是指将值从数组中取出并作为单独的值呈现,这使我们能够同时分配多个值。
const [x, y] = [1, 2];
这意味着每个变量都存在于数组之外,您可以单独检查其值。
例子:
x
<< 1
y
<< 2
或者,
[x, y] = [y, x];
x
<< 2
y
<< 1
这是关于数据结构的 3 篇系列文章中的第 1 部分:数组;第 2 部分:集合;第 3 部分:映射。
文章来源:https://dev.to/banesag/javascript-data-structs-part-1-4eb5
