JavaScript中的索引数组、关联数组和静态数组、动态数组讲解

yizhihongxing

JavaScript中常见的数组类型主要有四种:索引数组、关联数组、静态数组和动态数组。

索引数组

索引数组是最基本的数组类型,其下标由数字表示,从0开始依次递增。

创建索引数组可以通过以下方式:

const arr = [1, 2, 3];

访问和修改索引数组中的元素可以通过下标进行:

const arr = [1, 2, 3];

arr[0]; // 返回1
arr[1] = 4; // 把第二个元素修改为4

关联数组

关联数组是以字符串为下标的数组,也可以叫做哈希表或字典。在JavaScript中,可以使用对象来模拟关联数组。

创建关联数组可以通过以下方式:

const obj = { name: 'John', age: 20 };

访问和修改关联数组中的元素可以通过属性名进行:

const obj = { name: 'John', age: 20 };

obj.name; // 返回'John'
obj.age = 21; // 把age属性修改为21

静态数组

静态数组是指在创建数组时就确定了其长度,不支持动态添加和删除元素。

创建静态数组可以通过以下方式:

const arr = new Array(3);

初始化静态数组可以通过下标进行:

const arr = new Array(3);

arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

动态数组

动态数组是指在创建数组时不需要确定其长度,可以根据需要动态添加和删除元素。

创建动态数组可以通过以下方式:

const arr = [];

向动态数组中添加元素可以使用push方法:

const arr = [];

arr.push(1);
arr.push(2);
arr.push(3);

从动态数组中删除元素可以使用pop方法:

const arr = [1, 2, 3];

arr.pop(); // 删除最后一个元素3

示例说明

示例一:使用关联数组统计单词出现次数

const str = 'the quick brown fox jumps over the lazy dog';
const words = str.split(' ');
const count = {};

for (let i = 0; i < words.length; i++) {
  const word = words[i];
  if (!count[word]) {
    count[word] = 0;
  }
  count[word]++;
}

console.log(count);

运行结果为:

{
  the: 2,
  quick: 1,
  brown: 1,
  fox: 1,
  jumps: 1,
  over: 1,
  lazy: 1,
  dog: 1
}

示例二:使用动态数组实现栈

class Stack {
  constructor() {
    this.array = [];
  }

  push(item) {
    this.array.push(item);
  }

  pop() {
    return this.array.pop();
  }

  peek() {
    return this.array[this.array.length - 1];
  }

  isEmpty() {
    return this.array.length === 0;
  }
}

const stack = new Stack();

stack.push(1);
stack.push(2);
stack.push(3);

console.log(stack.peek()); // 输出3

stack.pop();

console.log(stack.peek()); // 输出2

运行结果为:

3
2

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中的索引数组、关联数组和静态数组、动态数组讲解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • javascript实现的HashMap类代码

    JavaScript实现的HashMap类代码 HashMap是一种非常常用的数据结构,用于提高键值对查找的效率。JavaScript作为一门弱类型语言,没有原生的HashMap,但我们可以用Object对象来实现一个简单的HashMap类。 实现细节 使用Object对象存储键值对,遍历时需要注意使用hasOwnProperty方法判断是否为对象本身的属性…

    JavaScript 2023年6月11日
    00
  • js获取对象为null的解决方法

    当我们使用JavaScript在网页中操作DOM元素时,有时会遇到获取某个对象为null的情况,这种情况通常是由于DOM元素还未加载完成或者没有正确的选择器导致的,那么如何去解决这个问题呢? 1. 延迟加载JS代码 有时候我们的JS代码可能会在DOM元素没有完全加载完成时就执行了,导致获取对象为null,因此一个简单有效的解决方法就是延迟加载JS代码,等待D…

    JavaScript 2023年6月11日
    00
  • js中substring和substr的详细介绍与用法

    JS中substring和substr的详细介绍与用法 概述 JavaScript中的substring()和substr()函数均可用于截取一个字符串的一部分,但它们的使用方式略有不同。 substring() substring()函数用于截取字符串的一部分,并返回一个新的字符串。它接受两个参数,第一个参数是起始位置,第二个参数是结束位置(不含)。如果没…

    JavaScript 2023年5月28日
    00
  • 从零开始用electron手撸一个截屏工具的示例代码

    下面是从零开始用Electron手撸一个截屏工具的示例代码的攻略: 创建一个Electron项目 首先,我们需要使用npm来创建一个空的Electron项目,可以使用以下命令: npm init -y npm install electron –save-dev 安装完成后,我们需要在package.json文件中添加一个start script: &qu…

    JavaScript 2023年6月11日
    00
  • JavaScript实现表单验证示例

    下面是针对“JavaScript实现表单验证示例”的完整攻略: 1. 表单验证的基本思路 前端表单验证的基本思路是,当用户提交表单时,先阻止表单的默认提交行为,然后通过JavaScript对表单进行内容的检测和验证,如果发现问题,则提示用户并阻止表单的提交。否则,允许表单进行提交操作。 通常,表单验证的实现流程如下: 针对表单的提交事件进行监听; 在提交事件…

    JavaScript 2023年6月10日
    00
  • JavaScript使用RegExp进行正则匹配的方法

    下面是详细讲解“JavaScript使用RegExp进行正则匹配的方法”的完整攻略。 1. 正则表达式简介 正则表达式(RegExp)是一种描述字符串规律的方法,可以用于验证、查找、替换等操作。在JavaScript中,正则表达式通过RegExp类进行定义和使用。 正则表达式由若干个字符和特殊符号组成,可以使用多种方式进行匹配和替换。下面是一些常见的正则表达…

    JavaScript 2023年6月10日
    00
  • JavaScript中判断两个字符串是否相等的方法

    要判断两个字符串是否相等,可以用JavaScript中的几种方法。下面是几种常见的方法: 方法一:使用严格相等运算符(===) 使用严格相等运算符可以比较两个字符串是否完全相等,包括字符、大小写和顺序。代码示例如下: let str1 = "Hello World"; let str2 = "Hello World";…

    JavaScript 2023年5月28日
    00
  • 如何在 JavaScript 中更好地利用数组

    当涉及到 JavaScript 中的数组时,有一些技巧可以帮助我们更好地使用它们。以下是一些利用数组的技巧,包括代码示例。 数组的创建和初始化 我们可以使用数组字面量创建一个数组,如下所示: const myArray = [1, 2, 3]; 我们还可以使用构造函数 Array() 来创建一个数组。 const myArray = new Array(1,…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部