js中的关联数组与普通数组详解

JS中的关联数组与普通数组详解

在JavaScript中有两种基本的数组类型,分别是关联数组和普通数组。这两种数组的定义和使用方法有很大的不同。

1. 普通数组

普通数组是一种使用下标访问元素的数组。它提供了一个基于数字索引的快速访问列表的方法,下标从0开始,索引号连续排列。

1.1 定义和初始化

普通数组的定义可以使用[]Array()两种方式进行。例如:

let arr1 = [1, 2, 3]; // 使用[]定义
let arr2 = new Array(1, 2, 3); // 使用Array()定义

普通数组的初始化可以使用[]Array()方式添加元素。例如:

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

let arr = new Array();
arr.push(1);
arr.push(2);
arr.push(3);

console.log(arr); // 输出 [1, 2, 3]

1.2 常用方法

普通数组提供了很多常用的方法,常见的方法有:

  • push():向数组尾部添加一个或多个元素
  • pop():删除数组尾部的元素并返回该元素
  • shift():删除数组头部的元素并返回该元素
  • unshift():向数组头部添加一个元素
  • slice():提取数组的一部分并返回一个新的数组
  • splice():从数组中删除或添加元素,修改原数组
  • sort():对数组进行排序,修改原数组
  • reverse():反转数组,修改原数组

1.3 示例1:求数组的最大值最小值

实现方式:

let arr = [1, 2, 3, 4, 5];
let max = arr[0];
let min = arr[0];
for (let i = 0; i < arr.length; i++) {
  if (arr[i] > max) {
    max = arr[i];
  }
  if (arr[i] < min) {
    min = arr[i];
  }
}
console.log(max, min); // 输出 5 1

2. 关联数组

关联数组是一种使用字符串作为键名访问元素的数组。它提供了一种使用字符串索引来访问数据的方法。

2.1 定义和初始化

关联数组的定义可以使用大括号{}进行。例如:

let obj = {
  name: '张三',
  age: 18,
  gender: '男'
};

关联数组的初始化可以使用大括号{}方式添加元素。例如:

let obj = {};
obj.name = '张三';
obj.age = 18;
obj.gender = '男';

console.log(obj); // 输出 {name: "张三", age: 18, gender: "男"}

2.2 常用方法

关联数组的常用方法与普通数组的方法有所不同,常用的方法有:

  • Object.keys():获取对象的所有键名组成的数组
  • Object.values():获取对象的所有键值组成的数组
  • Object.entries():获取对象的所有键值对组成的数组

2.3 示例2:统计一段文本中各单词出现的次数

实现方式:

let str = 'Hello JavaScript World World';
let arr = str.split(' ');
let obj = {};
for (let i = 0; i < arr.length; i++) {
  if (obj[arr[i]] === undefined) {
    obj[arr[i]] = 1;
  } else {
    obj[arr[i]]++;
  }
}
console.log(obj); // 输出 {Hello: 1, JavaScript: 1, World: 2}

总结

在JavaScript中,可以使用普通数组和关联数组来存储数据,使用方式和方法有所不同。我们需要根据实际的需求来选择使用哪种数组类型,进行合理的设计和使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中的关联数组与普通数组详解 - Python技术站

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

相关文章

  • JS中的变量作用域(console版)

    下面我将为你详细介绍“JS中的变量作用域(console版)”的攻略。 什么是变量作用域? 在JS中,变量的作用范围被称为变量作用域。简单来说,就是定义一个变量后,这个变量能够被访问的范围。JS中有全局作用域和局部作用域。全局作用域指的是在整个JS文件中都能够访问的变量,而局部作用域则指的是在函数中定义的变量,在函数外面是无法访问到的。 如何判断变量作用域?…

    JavaScript 2023年5月28日
    00
  • JavaScript小技巧 2.5 则

    完整攻略如下: JavaScript小技巧 2.5则 简介 这是第二篇JavaScript小技巧的第五则,本篇攻略将详细讲解如何利用JavaScript小技巧来提高开发效率和代码的可读性。 正文 小技巧1:使用数组解构赋值获取函数的多个返回值 在JavaScript中,函数可以有多个返回值,如果我们需要获取这些返回值并分别进行操作,那么可以使用数组解构赋值来…

    JavaScript 2023年5月27日
    00
  • JS实现生成由字母与数字组合的随机字符串功能详解

    下面是详细的攻略: 1. 开发思路 生成随机字符串的最基本思路是,在一定的字符集中随机选取一些字符,然后按照一定顺序排列生成字符串。对于字符集的选择,我们可以限定在数字、小写字母、大写字母三类字符中,并且可以根据具体需求自定义字符集。然后利用 JavaScript 中的 Math.random() 函数来实现字符的随机选择,最后将所选的字符组合在一起形成随机…

    JavaScript 2023年5月28日
    00
  • 原生Aajax 和jQuery Ajax 写法个人总结

    原生Ajax与jQuery Ajax写法个人总结 简介 Ajax(Asynchronous JavaScript and XML)是指一种创建交互式、快速动态网页的技术,在不重新加载整个网页的情况下,能够异步地更新部分网页内容。本文将介绍原生Ajax与jQuery Ajax的写法及其异同点。 原生Ajax写法 XMLHttpRequest对象 原生Ajax基…

    JavaScript 2023年6月11日
    00
  • 在页面中引入js的两种方法(推荐)

    在页面中引入JavaScript脚本有两种主要的方法,分别是通过script标签嵌入JavaScript代码和通过外部文件引入JavaScript代码。 嵌入JavaScript代码 要嵌入JavaScript代码,我们可以使用<script>标签来完成,在<script>标签中写入JavaScript代码,将其嵌入HTML页面即可。…

    JavaScript 2023年5月27日
    00
  • js parentElement和offsetParent之间的区别

    js parentElement和offsetParent之间的区别 在使用 JavaScript 操作 DOM(文档对象模型)时,我们经常会遇到 parentElement 和 offsetParent 这两个属性,这两个属性都可以用来访问一个元素的父级元素。虽然它们看起来很相似,但它们有着不同的工作方式和用途。 parentElement parentE…

    JavaScript 2023年6月10日
    00
  • javascript将json格式数组下载为excel表格的方法

    当我们使用JavaScript处理JSON格式的数据时,如果想要将其导出为Excel表格,我们可以借助一些工具来完成。下面是具体的实现步骤: 步骤一:将JSON数据转化为Excel格式 首先,需要安装一个名为SheetJS的开源库,它可以在浏览器中创建和管理Excel文件。 接下来,我们需要将JSON数据转化为Excel格式。可以使用SheetJS提供的XL…

    JavaScript 2023年5月27日
    00
  • Javascript&DHTML基础知识第1/2页

    下面是对于“Javascript&DHTML基础知识第1/2页”的完整攻略: 一、文档对象模型(DOM) 文档对象模型是什么 文档对象模型 (DOM) 定义了访问文档内容的方式,以便JavaScript脚本可以对网页进行动态操作。 如何访问DOM元素 常用的方法是通过getElementById()函数,该函数通过元素的ID属性获取对元素的引用。例如…

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