返回顶部
首页 > 资讯 > 前端开发 > VUE >JavaScript关联数组、数组和对象的区别是什么
  • 796
分享到

JavaScript关联数组、数组和对象的区别是什么

2024-04-02 19:04:59 796人浏览 安东尼
摘要

这篇文章主要讲解了“javascript关联数组、数组和对象的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript关联数组、数组和对

这篇文章主要讲解了“javascript关联数组、数组和对象的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript关联数组、数组和对象的区别是什么”吧!

关联数组

很多编程元素支持命名索引的数组。

具有命名索引的数组被称为关联数组(或散列)。

JavaScript 不支持命名索引的数组。

在 JavaScript 中,数组只能使用数字索引。

实例

var person = [];

person[0] = "Bill";

person[1] = "Gates";

person[2] = 62;

var x = person.length;          // person.length 返回 3

var y = person[0];              // person[0] 返回 "Bill"

 警告!

假如您使用命名索引,JavaScript 会把数组重定义为标准对象。

之后,所有数组的方法和属性将产生非正确结果。

实例:

var person = [];

person["firstName"] = "Bill";

person["lastName"] = "Gates";

person["age"] = 62;

var x = person.length;         // person.length 将返回 0

var y = person[0];              // person[0] 将返回 undefined

数组和对象的区别

在 JavaScript 中,数组使用数字索引。

在 JavaScript 中,对象使用命名索引。

数组是特殊类型的对象,具有数字索引。

何时使用数组,何时使用对象?

JavaScript 不支持关联数组

如果希望元素名为字符串(文本)则应该使用对象。

如果希望元素名为数字则应该使用数组。

避免 new Array()

没有必要使用 JavaScript 的内建数组构造器 new Array()。

请使用 [] 取而代之!

下面两条不同的语句创建了名为 points 的新的空数组:

var points = new Array();         // 差

var points = [];                  // 优

下面两条不同的语句创建包含六个数字的新数组:

var points = new Array(40, 100, 1, 5, 25, 10); // 差

var points = [40, 100, 1, 5, 25, 10];          // 优

new 关键词只会使代码复杂化。它还会产生某些不可预期的结果:

var points = new Array(40, 100);  // 创建包含两个元素的数组(40 和 100)

假如删除其中一个元素会怎么样?

var points = new Array(40);       // 创建包含 40 个未定义元素的数组!!!

如何识别数组

常见的问题是:我如何知晓某个变量是否是数组?

问题在于 JavaScript 运算符 typeof 返回 "object":

var fruits = ["Banana", "Orange", "Apple", "ManGo"];

typeof fruits;             // 返回 object

typeof 运算符返回 "object",因为 JavaScript 数组属于对象。

解决方案 1:

为了解决这个问题,ECMAScript 5 定义了新方法 Array.isArray():

Array.isArray(fruits);     // 返回 true

此方案的问题在于 ECMAScript 5 不支持老的浏览器。

解决方案 2:

创建您自己的 isArray() 函数以解决此问题:

function isArray(x) {

    return x.constructor.toString()。indexOf("Array") > -1;

}

假如参数为数组,则上面的函数始终返回 true。

或者更准确的解释是:假如对象原型包含单词 "Array" 则返回 true。

解决方案 3:

假如对象由给定的构造器创建,则 instanceof 运算符返回 true:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits instanceof Array     // 返回 true

感谢各位的阅读,以上就是“JavaScript关联数组、数组和对象的区别是什么”的内容了,经过本文的学习后,相信大家对JavaScript关联数组、数组和对象的区别是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JavaScript关联数组、数组和对象的区别是什么

本文链接: https://lsjlt.com/news/91065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript关联数组、数组和对象的区别是什么
    这篇文章主要讲解了“JavaScript关联数组、数组和对象的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript关联数组、数组和对...
    99+
    2024-04-02
  • php关联数组和索引数组有什么区别
    关联数组和索引数组是PHP中两种常见的数组类型,它们的区别如下:1. 索引数组:索引数组使用数字作为数组的键,键的顺序与元素的插入顺序相对应。例如,$arr = array("apple", "banana", "orange")就是一...
    99+
    2023-08-09
    php
  • PHP 数组转 JSON 对象有什么区别和联系?
    php 数组和 json 对象的关键区别在于:数据结构不同,数组是关联数组,键可为字符串或数字;而 json 对象是键值对集合,键必须为字符串。表示方式不同,数组用方括号 [] 表示,j...
    99+
    2024-04-29
    php json 键值对
  • 数组和对象在 PHP 中的区别是什么?
    php 中,数组是有序序列,以索引访问元素;对象是具有属性和方法的实体,通过 new 关键字创建。数组访问通过索引,对象访问通过属性/方法。数组值传递,对象引用传递。 数组 数组是一个...
    99+
    2024-04-29
    php 对象
  • PHP索引数组和对象数组有什么区别?
    PHP是一种流行的编程语言,它支持许多不同的数据类型。其中两种常见的数据类型是索引数组和对象数组。这两种数组虽然都是数组,但它们之间有很大的区别。在本文中,我们将讨论PHP索引数组和对象数组的区别,并提供一些演示代码来帮助您更好地理解它们之...
    99+
    2023-08-09
    索引 对象 javascript
  • javascript对象和数组的区别有哪些
    这篇文章主要介绍了javascript对象和数组的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。区别:区别:1、对象是包含已命名的...
    99+
    2024-04-02
  • php中关联数组和索引数组有什么区别
    在PHP中,数组是一系列数据的集合,形成一个可操作的整体。每一个数据是一个元素,元素包含键名和键值。索引数组和关联数组的区别是由键名区分的一、索引数组索引数组的下标(键名)由数字组成,默认从 0 开始,每个数字对应一个数组元素在数组中的位置...
    99+
    2020-01-22
    PHP 索引数组 关联数组
  • java数组与javascript数组的区别是什么
    本篇内容主要讲解“java数组与javascript数组的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java数组与javascript数组的区别是什么”吧!区别说明java中定义数...
    99+
    2023-06-20
  • JavaScript中伪数组和数组有什么区别
    JavaScript中伪数组和数组有什么区别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、对浏览器事件做...
    99+
    2023-06-14
  • PHP数组和Bash数组的区别是什么?
    PHP和Bash都是常见的编程语言,它们都支持数组。但是它们的数组有哪些区别呢?本文将深入探讨PHP数组和Bash数组的区别,并且提供一些代码演示来帮助你更好地理解。 一、PHP数组 PHP是一种服务器端脚本语言,它是一种用于开发Web应用...
    99+
    2023-10-29
    数组 bash windows
  • Java数组和JavaScript函数有什么区别?
    Java数组和JavaScript函数是两种不同的编程概念,它们之间存在着很大的区别。在本文中,我们将探讨Java数组和JavaScript函数的区别,并演示一些代码示例。 Java数组是一种存储固定数量元素的数据结构。数组可以包含不同类型...
    99+
    2023-10-25
    数组 javascript 函数
  • 指针数组和数组指针的区别是什么
    区别:对指针数组来说,首先它是一个数组,数组的元素都是指针,也就是说该数组存储的是指针,数组占多少个字节由数组本身决定;而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在 32 位系统下永远占 4 字节,至于...
    99+
    2023-05-14
    指针数组 数组指针 C语言
  • php关联数组是什么
    php关联数组是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Prepro...
    99+
    2023-06-14
  • json和javascript对象的区别是什么
    本篇内容主要讲解“json和javascript对象的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“json和javascript对象的区别是什么”吧...
    99+
    2024-04-02
  • javascript中数组与对象的使用方法区别
    目录一、JS声明对象或数组二、数组”(array)和“对象”(object)两者都可以用来表示数据的集合。三、数组和对象的使用方法区别:(1)创建...
    99+
    2022-12-14
    js数组 js对象
  • JavaScript伪数组和数组的使用与区别
    伪数组和数组 在JavaScript中,除了5种原始数据类型之外,其他所有的都是对象,包括函数(Function)。 对象与数组的关系 在说区别之前,需要先提到另外一个知识,就是 ...
    99+
    2024-04-02
  • C++指针和数组:字符和字符串、字符数组的关联和区别
    目录一、字符指针、字符数组字符指针字符数组二、字符串指针三、(字符串)指针数组四、总结字符串的本质就是字符数组,将字符串作为字符数组来处理。字符数组和字符串都可以作为存放字符的数组,...
    99+
    2022-12-23
    C++字符 C++字符串 C++字符数组
  • php中什么是关联数组
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑数组中的每个实体都包含两项,分别是键(key)和值(value)。可以通过键值来获取相应的数组元素,这些键可以是数值键,也可以是关联键。如果说变量是存储单个值...
    99+
    2024-04-02
  • Java数组和JavaScript响应的联系是什么?
    Java和JavaScript都是非常流行的编程语言,它们在许多方面都有相似之处。其中一个重要的共同点就是它们都支持数组。Java和JavaScript数组之间有许多相似之处,但也有一些差异。本文将详细探讨Java数组和JavaScrip...
    99+
    2023-08-19
    数组 javascript 响应
  • JavaScript怎么定义对象和数组
    这篇文章主要介绍“JavaScript怎么定义对象和数组”,在日常操作中,相信很多人在JavaScript怎么定义对象和数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作