js 数组详细操作方法及解析合集

JS 数组详细操作方法及解析合集

什么是数组?

在JavaScript中,数组是一种存储多个值的有序集合。数组中的每个值称为一个元素,每个元素都有一个相应的数字键(称为索引)来标识其在数组中的位置。

创建数组

在JavaScript中,有多种方式来创建数组。下面是一些示例:

  • 使用数组字面量

数组字面量是用方括号 [] 包围并由逗号分隔构成的值序列,如下所示:

let arr = [1, 2, 3, 4];
  • 使用 Array 构造函数

可以使用 new Array() 或者简写的 [] 来构造一个数组,如下所示:

let arr1 = new Array();
let arr2 = [];

你还可以向构造函数中传递一个表示数组长度的整数,如下所示:

let arr3 = new Array(5); //创建一个长度为 5 的数组,但不包含任何元素
let arr4 = ['foo', 'bar', 'baz']; //创建一个包含三个元素的数组

访问数组元素

可以使用方括号和索引来访问数组中的元素,也可以使用点号和属性名来访问数组中的元素。如下所示:

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

let person = {
  name: 'John',
  age: 30,
  hobbies: ['reading', 'traveling']
};
console.log(person.hobbies[0]); //输出"reading"

修改和添加元素

可以使用方括号和索引来修改和添加数组中的元素,如下所示:

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

arr[3] = 5;
console.log(arr); //输出 [1, 4, 3, 5]

删除元素

可以使用 delete 关键字来删除数组中的元素。删除后,数组的长度不会改变,但是删除的元素会变成 undefined。如下所示:

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

数组迭代

可以使用 for 循环、forEach 方法、map 方法等多种方式来迭代数组中的元素。下面分别给出示例:

  • for 循环
let arr = [1, 2, 3];
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}
  • forEach 方法
let arr = [1, 2, 3];
arr.forEach(function(item) {
  console.log(item);
});

//或者使用箭头函数
arr.forEach(item => console.log(item));
  • map 方法
let arr = [1, 2, 3];
let newArr = arr.map(function(item) {
  return item * 2;
});

console.log(newArr); //输出 [2, 4, 6]

数组排序

可以使用 sort 方法来对数组中的元素进行排序,如下所示:

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

sort 方法还可以接受一个比较函数作为参数,用于自定义排序规则。如下所示:

let arr = [
  {name: 'John', age: 30},
  {name: 'Mary', age: 25},
  {name: 'Bob', age: 35}
];
arr.sort(function(a, b) {
  return a.age - b.age;
});

console.log(arr);

数组过滤

可以使用 filter 方法来过滤数组中的元素,如下所示:

let arr = [1, 2, 3, 4];
let newArr = arr.filter(function(item) {
  return item % 2 == 0;
});

console.log(newArr); //输出 [2, 4]

数组查找

可以使用 indexOf、lastIndexOf、find、findIndex 等方法来查找数组中的元素。下面分别给出示例:

  • indexOf 和 lastIndexOf
let arr = ['foo', 'bar', 'baz', 'foo'];
console.log(arr.indexOf('foo')); //输出0
console.log(arr.lastIndexOf('foo')); //输出3
  • find 和 findIndex
let arr = [
  {name: 'John', age: 30},
  {name: 'Mary', age: 25},
  {name: 'Bob', age: 35}
];
let result = arr.find(function(item) {
  return item.age == 30;
});

console.log(result); //输出 {name: "John", age: 30}

let index = arr.findIndex(function(item) {
  return item.age == 30;
});

console.log(index); //输出0

数组合并和分割

可以使用 concat 方法来合并两个或多个数组,使用 split 方法来将字符串分割成数组。如下所示:

  • concat 方法
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let newArr = arr1.concat(arr2);
console.log(newArr); //输出 [1, 2, 3, 4, 5, 6]
  • split 方法
let str = 'This is a sentence.';
let arr = str.split(' ');
console.log(arr); //输出 ["This", "is", "a", "sentence."]

数组扁平化

可以使用 flat 方法来扁平化嵌套数组,如下所示:

let arr = [1, [2, [3, 4]]];
let newArr = arr.flat(2);
console.log(newArr); //输出 [1, 2, 3, 4]

至此,我们已经完成了 JavaScript 数组的基本操作。当然,JavaScript 数组还有很多高级操作,需要进一步深入学习。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 数组详细操作方法及解析合集 - Python技术站

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

相关文章

  • 详解微信小程序胶囊按钮返回|首页自定义导航栏功能

    下面是详解微信小程序胶囊按钮返回|首页自定义导航栏功能的完整攻略: 一、胶囊按钮返回 微信小程序提供了一个叫做胶囊按钮的组件,位于小程序右上角,它包含了小程序的图标和名称,并且还具备返回功能。我们可以使用它来方便地返回上一个页面,以下是实现方法: 首先,在页面的顶部布局一个用于显示胶囊按钮的容器: <!– wxml –> <view c…

    JavaScript 2023年6月11日
    00
  • 小程序使用webview内嵌h5页面 wx.miniProgram.getEnv失效问题

    小程序使用webview内嵌H5页面时,经常会遇到wx.miniProgram.getEnv失效的问题。这种问题一般是由于小程序版本升级所引起的。在小程序v2.0.0之前,我们可以使用wx.miniProgram.getEnv方法来判断当前页面是否在小程序中运行,但是在v2.0.0版本之后,这个方法已经失效了。这个问题需要通过一些替代方案来解决。下面,我们就…

    JavaScript 2023年6月11日
    00
  • React路由鉴权的实现方法

    React路由鉴权是指在用户访问某些需要权限的页面时,需要先判断用户是否有权限访问该页面,如果没有权限则需要进行跳转或者提示用户登录等操作。以下是一些实现路由鉴权的方法。 1. 基于react-router-dom react-router-dom 是 React 官方提供的路由组件库,可以通过它来实现路由鉴权。它提供了一些组件,如 Route、Redire…

    JavaScript 2023年6月11日
    00
  • 21个值得收藏的Javascript技巧

    下面就是“21个值得收藏的Javascript技巧”的完整攻略。 1. 使用变量解构(destructuring)来简化你的代码 解构可以让你从一个数据结构中将数据提取到单独的变量中,从而简化你的代码。示例: const obj = { a: 1, b: 2, c: 3 }; // 使用解构简化代码 const { a, b } = obj; console…

    JavaScript 2023年5月18日
    00
  • javascript的动态加载、缓存、更新以及复用(一)

    JavaScript 动态加载、缓存、更新以及复用(一) JavaScript 的动态加载、缓存、更新以及复用是优化前端性能的重要手段。下面将为你详细讲解如何实现。 动态加载 JavaScript 的动态加载可以提高网站的性能,并且在某些情况下可以实现更好的网站交互体验。 在 HTML 文件中动态加载 JavaScript 文件 可以通过在 HTML 文件中…

    JavaScript 2023年5月27日
    00
  • JS简单实现String转Date的方法

    以下是JS简单实现String转Date的方法的攻略。 1. 解析字符串为Date对象 首先要做的是将字符串解析为Date对象,可以使用内置函数 Date.parse 或 new Date。推荐使用 new Date 的方式。 // 方法一:使用Date.parse let dateString = ‘2021-08-12’; let date = new …

    JavaScript 2023年6月10日
    00
  • javascript设置连续两次点击按钮时间间隔的方法

    一、背景介绍 在一些需要频繁操作的网页界面中,当用户连续多次点击按钮时,容易造成不必要的bug或者数据重复提交等情况。因此,为了避免这种情况的发生,我们常常需要在javascript代码中设置按钮的两次点击时间间隔。本篇攻略将会详细讲解如何实现这一功能。 二、方法讲解 使用setTimeout函数 我们可以利用setTimeout函数来设置两次点击按钮的时间…

    JavaScript 2023年6月11日
    00
  • JavaScript前后端JSON使用方法教程

    以下是”JavaScript前后端JSON使用方法教程”的完整攻略: 前言 在Web开发中,JSON是一个重要的数据交换格式。在JavaScript中,我们经常需要使用JSON来进行数据解析、数据交换、以及与后端交互等操作。因此,本篇文章主要介绍了JavaScript前后端JSON使用方法。 JavaScript读取JSON数据 JavaScript提供了p…

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