详谈js中数组(array)和对象(object)的区别

详谈JS中数组(Array)和对象(Object)的区别

在JS中,数组和对象都是非常常见且重要的数据类型。它们可以用于存储和操作数据,但是它们之间有很大的区别。本攻略将详细讲解JS中数组和对象的区别,包括定义、访问和操作数组和对象。

数组(Array)是什么?

JS中的数组是一种有序、可变的集合,可以存储任意类型的值,包括数字、字符串、对象等。它通过下标来访问和操作其中的元素。

数组的定义

在JS中,定义一个数组可以使用[]new Array()的方法:

// 定义一个空数组
let array1 = [];

// 定义一个长度为3的数组,初始值为undefined
let array2 = new Array(3);

// 定义一个包含3个元素的数组,元素类型为字符串
let array3 = ['apple', 'banana', 'orange'];

数组的访问

数组中的元素可以通过下标来访问。下标从0开始,可以是数字或字符串:

let fruits = ['apple', 'banana', 'orange'];

console.log(fruits[0]); // 'apple'
console.log(fruits['1']); // 'banana'

如果访问的下标超出了数组的界限,会得到undefined:

console.log(fruits[3]); // undefined

数组的操作

JS中的数组支持多种操作,例如添加、删除、修改元素等。以下是几个示例:

let fruits = ['apple', 'banana', 'orange'];

// 向数组最后添加一个元素
fruits.push('pear');

// 删除数组最后一个元素
fruits.pop();

// 向数组开头添加一个元素
fruits.unshift('kiwi');

// 删除数组第一个元素
fruits.shift();

// 修改数组中的元素
fruits[1] = 'mango';

// 获取数组的长度
console.log(fruits.length); // 2

对象(Object)是什么?

JS中的对象是一个无序的集合,由一些属性(key-value)组成,其中属性的值可以是任意类型的。它通过属性名来访问和操作其中的属性。

对象的定义

在JS中,定义一个对象可以使用{}new Object()的方法:

// 定义一个空对象
let object1 = {};

// 定义一个包含两个属性的对象
let object2 = {
  name: '张三',
  age: 20
};

// 定义一个包含一个函数属性的对象
let object3 = {
  sayHi: function() {
    console.log('Hi');
  }
};

对象的访问

对象中的属性可以通过属性名来访问。属性名可以是任何字符串,包括空字符串。

let person = {
  name: '张三',
  age: 20,
  '': '这是一个空字符串属性'
};

console.log(person.name); // '张三'
console.log(person.age); // 20
console.log(person['']); // '这是一个空字符串属性'

如果访问不存在的属性,则会得到undefined:

console.log(person.gender); // undefined

对象的操作

JS中的对象也支持多种操作,例如添加、删除、修改属性等。以下是几个示例:

let person = {
  name: '张三',
  age: 20
};

// 添加一个新属性
person.gender = '男';

// 删除一个属性
delete person.age;

// 修改一个属性的值
person.name = '李四';

// 获取对象中所有的属性名
console.log(Object.keys(person)); // ['name', 'gender']

数组和对象的区别

根据上述内容,我们可以总结出以下几点JS中数组和对象的区别:

  1. 数组中的元素是有序的,对象中的属性是无序的;
  2. 数组中的元素可以通过下标来访问,对象的属性可以通过属性名来访问;
  3. 数组中的元素类型可以不同,对象中的属性名必须是字符串类型,但属性值可以是任意类型;
  4. 操作数组时,通常使用数组的方法;操作对象时,通常使用对象的方法。

示例说明

示例1

let fruits = ['apple', 'banana', 'orange'];

console.log(fruits[1]); // 'banana'
console.log(fruits.length); // 3

fruits.splice(1, 1, 'kiwi', 'mango');

console.log(fruits); // ['apple', 'kiwi', 'mango', 'orange']
console.log(fruits.length); // 4

在上面的示例中,我们定义了一个包含3个字符串元素的数组fruits。通过[]操作符访问其第二个元素(下标为1),并输出结果。然后使用splice方法,将数组中从第二个元素开始的1个元素替换为kiwimango。最后输出修改后的数组和数组的长度。

示例2

let person = {
  name: '张三',
  age: 20,
  gender: '男'
};

console.log(person.name); // '张三'
console.log(person.age); // 20

delete person.age;

console.log(person); // { name: '张三', gender: '男' }
console.log(Object.keys(person)); // ['name', 'gender']

在这个示例中,我们定义了一个包含3个属性的对象person。通过.操作符和[]操作符访问其nameage属性,并输出结果。然后使用delete操作符删除了age属性,再输出对象和对象中所有属性名。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详谈js中数组(array)和对象(object)的区别 - Python技术站

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

相关文章

  • javascript getElementsByClassName 和js取地址栏参数

    下面分别详细讲解一下”javascript getElementsByClassName”和”js取地址栏参数”。 Javascript getElementsByClassName getElementsByClassName() 是 javascript DOM API 的一部分,该 API 允许开发者通过 class name 查找文档中的 DOM 元…

    JavaScript 2023年6月11日
    00
  • JS简单添加元素新节点的方法示例

    下面我来详细讲解“JS简单添加元素新节点的方法示例”的完整攻略。 什么是添加新节点? 在 JavaScript 中,向 HTML 文档中添加节点(节点就是 HTML 元素)的过程称为添加新节点。 添加新节点的方法 使用 JavaScript 可以轻松地添加新节点到 HTML 页面中。下面我们来看看两个添加新节点的示例方法。 方法一:appendChild()…

    JavaScript 2023年6月10日
    00
  • JavaScript中的字符串操作详解

    JavaScript中的字符串操作详解 JavaScript中的字符串操作是一个基础且重要的方面。在这个攻略中,我们将详细介绍字符串的常用操作及其在JavaScript应用中的具体用法。 字符串的声明方法 在JavaScript中,我们可以使用单引号或双引号来声明一个字符串。 示例代码1 let str1 = ‘这是一个双引号包裹的字符串’; let str…

    JavaScript 2023年6月1日
    00
  • 最原始的jQuery注册验证方式

    最原始的jQuery注册验证方式可以分为以下步骤: 步骤一:导入jQuery库 在HTML页面的标签或者标签中,导入jQuery库的链接,例如: <head> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js">&lt…

    JavaScript 2023年6月10日
    00
  • 浅谈下拉菜单中的Option对象

    下拉菜单是Web界面设计中常用的界面元素之一,Option对象是下拉菜单中的选项对象。要想了解Option对象,需要从以下几个方面来讲解: 1. Option对象的定义 Option对象是HTML下拉列表(select)元素中的一个选项对象,每个选项对象都有以下属性和方法: <option value="option_value" …

    JavaScript 2023年6月10日
    00
  • JavaScript结合HTML DOM实现联动菜单

    一、前言 JavaScript结合HTML DOM可实现动态操作HTML文档的功能,通常用于创建富交互网页。本文将讲解如何使用JavaScript结合HTML DOM实现联动菜单。 二、准备工作 在使用JavaScript结合HTML DOM实现联动菜单前,需准备如下工作: 编写HTML代码,包含两个或以上select控件,其中一个为主控控件,另外的为从属控…

    JavaScript 2023年6月10日
    00
  • Javascript使用function创建类的两种方法(推荐)

    使用 function 创建类的方法,也被称作“构造函数模式”,是JavaScript中一种常用的定义对象的方法。 方法1:直接创建 我们可以使用function语法,按照类定义对象的基本思路,创建一个构造函数(类)。在构造函数(类)内部使用this关键字声明该类的实例属性和方法。 下面的代码演示了这种方式创建类Person,并定义了实例属性name和age…

    JavaScript 2023年5月27日
    00
  • 实现JavaScript高性能的数据存储

    当我们在实现JavaScript应用程序时,经常需要存储数据。但是不同的数据存储方式对应的性能也不同。为了实现JavaScript高性能的数据存储,我们需要采用一些优化技巧来提高数据存储的性能。下面就分享一下实现JavaScript高性能的数据存储的攻略: 1. 选择合适的数据结构 常见的JavaScript数据结构包括数组、对象、Map和Set等。不同的数…

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