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日

相关文章

  • js点击返回跳转到指定页面实现过程

    实现点击返回跳转到指定页面的过程,一般分为以下几步: 1.获取当前页面的浏览历史记录,即通过window对象的history属性获取。 2.将指定页面的相对路径或绝对路径存储到一个变量中。 3.使用JavaScript编写点击事件处理函数,在该函数中,修改浏览器的历史记录,使其返回到指定页面。通常使用history.pushState()方法实现此功能。该方…

    JavaScript 2023年6月11日
    00
  • javascript判断变量是否有值的方法

    当我们使用JavaScript编程时,有时候需要判断一个变量是否具有值。在这种情况下,我们需要使用不同的方法来检查它是否具有值。下面就是“JavaScript判断变量是否有值的方法”的完整攻略。 方法一:typeof操作符 typeof操作符可以用来检测一个变量的类型。当变量值为undefined时,typeof会返回”undefined”。这意味着我们可以…

    JavaScript 2023年6月10日
    00
  • python爬虫之验证码篇3-滑动验证码识别技术

    Python爬虫之验证码篇3-滑动验证码识别技术 本篇文章将带领大家学习如何使用Python进行滑动验证码识别技术,让我们能够愉快地完成爬虫任务,无需被恼人的滑动验证码阻挡。 前置技能 在学习本篇文章之前,您需要学会以下技能: Python基础知识 Python爬虫入门基础 了解验证码的基本原理 滑动验证码介绍 滑动验证码通常由一张包含有缺口的图片以及一个滑…

    JavaScript 2023年6月11日
    00
  • javascript事件冒泡简单示例

    下面就来详细讲解 “JavaScript 事件冒泡简单示例” 的完整攻略。 什么是事件冒泡? 事件冒泡是指当一个元素上的事件被触发时,该事件将会从被点击的元素一直向上冒泡到祖先节点直至到达文档根节点。 举个例子,假如你在一个文档中单击了一个按钮,那么事件会以如下顺序传递: 单击按钮。 按钮触发 click 事件。 事件开始在按钮上触发并向上传播到父元素,然后…

    JavaScript 2023年6月10日
    00
  • js实现盒子拖拽动画效果

    实现盒子拖拽动画效果需要以下步骤: 1. 为拖拽目标元素绑定事件监听器 首先需要为需要拖拽的目标元素添加事件监听器,通常是mousedown事件或者touchstart事件。 let target = document.getElementById(‘drag-target’); target.addEventListener(‘mousedown’, dr…

    JavaScript 2023年6月10日
    00
  • JavaScript中setTimeout()的具体用法

    当我们需要在一段时间之后执行一些代码时,就可以使用JavaScript中的setTimeout()函数。setTimeout()在指定时间段后会执行一段代码。以下是setTimeout()函数的语法: setTimeout(function, milliseconds, param1, param2, …) 其中,第一个参数为需要执行的函数,第二个参数为…

    JavaScript 2023年6月10日
    00
  • js如何构造elementUI树状菜单的数据结构详解

    下面是关于如何构造ElementUI树状菜单数据结构的攻略: 一、树状菜单数据结构的构成 ElementUI树状菜单所需要的数据结构是一个层级结构的树形数据结构,它由多个节点组成,每个节点可能有子节点,也可能没有。一棵树可以看做是枝干和叶子构成的,枝干负责连接,而叶子负责储存信息。因此,需要针对菜单的特性构造一个合适的数据结构,这个数据结构应该包含以下属性:…

    JavaScript 2023年6月10日
    00
  • Javascript Array toLocaleString 方法

    以下是关于JavaScript Array toLocaleString方法的完整攻略。 JavaScript Array toLocaleString方法 JavaScript Array toLocaleString方法用于将数组中的元素转换为本地字符串。该方法会将数组中的每个元素转换为字符串,并使用本地化的格式进行格式化。 下面是使用toLocaleS…

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