javascript之Array 数组对象详解

JavaScript之Array数组对象详解

什么是数组

在 JavaScript 中,数组(Array)是一种复合数据类型,用于存储一组有序的数据。可以将数组看作是一个盒子,该盒子中可以存放多个数据,而且这些数据是有序的,通过下标(索引)来访问每一个数据。

数组的创建

JavaScript 中,可以使用两种方式来创建数组:

1. 使用字面量方式创建数组

let arr = [1, 2, 3];
console.log(arr); // [1, 2, 3]
console.log(typeof arr); // object

2. 使用 Array 构造函数创建数组

let arr = new Array(1, 2, 3);
console.log(arr); // [1, 2, 3]
console.log(typeof arr); // object

数组的基本操作

访问数组元素

数组的每个元素都有一个对应的下标,下标从 0 开始,以数组的长度减 1 结尾。可以通过下标来访问数组中的元素。

let arr = [1, 2, 3];
console.log(arr[0]); // 1
console.log(arr[1]); // 2
console.log(arr[2]); // 3

修改数组元素

可以通过下标来修改数组中的元素。

let arr = [1, 2, 3];
arr[0] = 4;
arr[1] = 5;
arr[2] = 6;
console.log(arr); // [4, 5, 6]

获取数组长度

可以使用数组的 length 属性来获取数组的长度。

let arr = [1, 2, 3];
console.log(arr.length); // 3

添加元素

可以使用数组的 push 方法来在数组的末尾添加一个或多个元素。

let arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]

删除元素

可以使用数组的 pop 方法来删除数组末尾的元素。

let arr = [1, 2, 3];
arr.pop();
console.log(arr); // [1, 2]

数组遍历

可以使用 for 循环或 forEach 方法来遍历数组。

let arr = [1, 2, 3];
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

arr.forEach(function(item) {
  console.log(item);
});

数组的高级操作

数组的排序

可以使用数组的 sort 方法来对数组进行排序。默认情况下,该方法使用 ASCII 码对数组进行排序。

let arr = ['banana', 'apple', 'orange'];
arr.sort();
console.log(arr); // ['apple', 'banana', 'orange']

如果需要根据某个特定的条件进行排序,可以传递一个函数给 sort 方法。

let arr = [
  { name: 'Apple', price: 2.5 },
  { name: 'Orange', price: 1.8 },
  { name: 'Banana', price: 3.2 }
];
arr.sort(function(a, b) {
  return a.price - b.price;
});
console.log(arr);
// [
//   { name: 'Orange', price: 1.8 },
//   { name: 'Apple', price: 2.5 },
//   { name: 'Banana', price: 3.2 }
// ]

数组的过滤

可以使用数组的 filter 方法来过滤数组中的元素。

let arr = [1, 2, 3, 4, 5];
let result = arr.filter(function(item) {
  return item % 2 === 0;
});
console.log(result); // [2, 4]

数组的映射

可以使用数组的 map 方法来将数组的每个元素映射为一个新的元素。

let arr = [1, 2, 3];
let result = arr.map(function(item) {
  return item * 2;
});
console.log(result); // [2, 4, 6]

示例说明

实现一个数组去重函数

function unique(arr) {
  let result = [];
  for (let i = 0; i < arr.length; i++) {
    if (result.indexOf(arr[i]) === -1) {
      result.push(arr[i]);
    }
  }
  return result;
}

let arr = [1, 2, 3, 1, 2, 5];
console.log(unique(arr)); // [1, 2, 3, 5]

实现一个数组求和函数

function sum(arr) {
  let result = 0;
  for (let i = 0; i < arr.length; i++) {
    result += arr[i];
  }
  return result;
}

let arr = [1, 2, 3, 4, 5];
console.log(sum(arr)); // 15

总结

本文对 JavaScript 中的数组进行了详细的讲解,包括了数组的创建、基本操作、高级操作等内容。具体而言,讨论了数组的定义及创建、访问、修改、长度获取、添加元素、删除元素、遍历、排序、过滤和映射等操作。最后,通过两个示例,加深了对数组操作的理解和运用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript之Array 数组对象详解 - Python技术站

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

相关文章

  • GridView选择记录同时confirm用户确认删除

    GridView选择记录同时confirm用户确认删除 简介 由于GridView是ASP.NET Web Forms常用的控件之一,经常会被用来展示和编辑自定义数据源。在开发中,经常会遇到用户想要删除某一项记录的需求。这时候,我们需要使用JavaScript来先确认用户是否真正想要删除该记录。 步骤 第一步:在GridView中添加CheckBox列 我们…

    JavaScript 2023年6月11日
    00
  • js计算时间差代码【包括计算,天,时,分,秒】

    下面是JS计算时间差代码的完整攻略: 什么是时间差? 时间差通常指两个时间点之间的时间间隔,例如两个人的生日之间的时间间隔、一个电影的时长等等。 如何计算时间差? 我们可以通过JS中的Date对象和Math对象来计算时间差,具体步骤如下: 创建两个Date对象,分别表示两个时间点,比如: javascript let date1 = new Date(“20…

    JavaScript 2023年5月27日
    00
  • asp.net动态添加js文件调用到网页的方法

    ASP.NET 动态添加 JS 文件调用到网页主要有以下几个步骤: 首先,在 ASP.NET 页面中添加 ScriptManager 控件。这个控件可以将页面上的 JS 文件或脚本框架统一管理。 示例代码如下: <asp:ScriptManager ID="ScriptManager1" runat="server&quo…

    JavaScript 2023年6月11日
    00
  • 为什么JavaScript没有块级作用域

    为什么JavaScript没有块级作用域 在JavaScript中,块级作用域指的是使用一对花括号({})创建的代码块,在这个代码块内声明的变量只能在代码块内部访问,并且在代码块外部无法访问。但是,JavaScript没有真正的块级作用域,这意味着在块级作用域之外仍然可以访问在块级作用域内部声明的变量。这是由于JavaScript采用了词法作用域(也称为静态…

    JavaScript 2023年6月10日
    00
  • JavaScript中使用document.write向页面输出内容实例

    下面是关于JavaScript中使用document.write向页面输出内容的完整攻略。 什么是document.write? 在JavaScript中,我们可以使用document.write()方法向HTML页面输出文本或HTML格式内容,使其在页面中显示出来。这个方法可以用来在页面加载时显示内容、提供动态的响应和反馈等。 怎样使用document.w…

    JavaScript 2023年5月28日
    00
  • Java设计模式之观察者模式_动力节点Java学院整理

    Java设计模式之观察者模式 1. 什么是观察者模式 观察者模式是一种行为型设计模式,它允许一个或多个对象在状态发生改变时自动通知其他对象。 在观察者模式中,存在两种角色: Subject(目标):负责发布通知的角色,可以添加,删除观察者,并通知观察者状态的变化。 Observer(观察者):当被观察的对象的状态发生变化时,它会自动接收到通知并进行相应的处理…

    JavaScript 2023年5月28日
    00
  • JS中async/await实现异步调用的方法

    那么我们来详细讲解下JS中async/await实现异步调用的方法。 使用场景 在JS中,异步调用是很常见的需求。异步调用通常指的是请求服务器数据、操作浏览器本地存储、读取文件等这样一些会长时间阻塞JS的操作。这些操作通常要用到回调函数处理异步操作结果。而使用async/await可以让异步操作更加简单、直观,避免了回调地狱的问题。 Async/await工…

    JavaScript 2023年6月11日
    00
  • 轻松理解Javascript变量的相关问题

    轻松理解JavaScript变量的相关问题 JavaScript中的变量是用来存储数据的。但是在JavaScript中,变量有很多相关的问题,这些问题可能会困扰初学者。在本文中,我将详细讲解以下问题: JavaScript中的变量类型有哪些? 如何声明和赋值变量? JavaScript中的作用域是什么? 变量的生命周期是什么? 如何避免变量名冲突? 变量类型…

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