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

yizhihongxing

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日

相关文章

  • javascript实现客户端兼容各浏览器创建csv并下载的方法

    在JavaScript中,可以通过Blob对象和URL.createObjectURL()方法来生成CSV文件,并通过a标签的download属性实现文件的下载。下面是实现客户端兼容各浏览器创建CSV并下载的完整攻略: 准备工作 在代码中创建用户需要下载的CSV内容数据 var data = [ [‘姓名’, ‘年龄’, ‘性别’], [‘张三’, ’18’…

    JavaScript 2023年5月27日
    00
  • Js利用prototype自定义数组方法示例

    下面是关于 “Js利用prototype自定义数组方法示例” 的完整攻略: 什么是prototype? prototype 是 JavaScript 中的内置属性,它允许您向基于特定对象类型创建的所有对象添加新属性和方法。使用prototype 可以实现在原有的对象原型(既 Object.prototype) 上添加一些与自定义类或对象有关的方法和属性。 利…

    JavaScript 2023年5月27日
    00
  • js实现div拖动动画运行轨迹效果代码分享

    关于“js实现div拖动动画运行轨迹效果代码分享”的完整攻略,主要包含以下几个部分: 基本思路 实现步骤 示例说明 基本思路 实现div拖动动画运行轨迹效果,一般可以采用JS和CSS配合的方式。具体来说,主要实现以下几个步骤: 给div绑定mousedown事件,当鼠标按下时触发。 给document绑定mousemove事件,当鼠标移动时触发。 给docu…

    JavaScript 2023年6月10日
    00
  • Javascript RegExp compile() 方法

    JavaScript中的RegExp对象中的compile()方法用于编译正则表达式。下面是关于RegExp.compile()方法的完整攻略,包括语法、示例和结。 RegExp的compile()方法 JavaScript的compile()方法用于编译正则表达式。下面是compile()方法的语法: RegExp.compile(pattern, fla…

    JavaScript 2023年5月11日
    00
  • vscode中vue-cli项目es-lint的配置方法

    下面是详细讲解“vscode中vue-cli项目es-lint的配置方法”的完整攻略: 1. 安装ESLint 首先请确保你的vscode里已经安装了 ESLint 插件,如果没有安装可以在插件市场中搜索并进行安装。ESLint 是 Javascript 的语法规范,可以用于代码的静态检查,还可以进行代码风格的约束。ESLint还支持vue、react等框架…

    JavaScript 2023年6月11日
    00
  • JavaScript do while使用方法

    JavaScript中do while语句是一种循环语句,它会重复执行一段代码块,直到指定条件不再满足为止。与while语句不同,首先会执行一次循环体的代码,然后才会进行条件判断。因此,do while语句至少会执行一次。 语法: do { // 循环体代码 } while (condition); 循环体代码:要执行的代码块,包含在花括号内。 condit…

    Web开发基础 2023年3月30日
    00
  • JS实现水平移动与垂直移动动画

    JS实现水平移动与垂直移动动画的攻略步骤如下: 步骤一:获取需操作的元素 首先,我们需要获取需要操作的元素,可以通过以下方式获取: const elem = document.querySelector(‘#target’); 其中,#target是需要操作的元素的id。 步骤二:水平移动动画 接下来,我们开始实现水平移动动画,具体步骤如下: 1. 定义初始…

    JavaScript 2023年6月10日
    00
  • Javascript中正则表达式的使用及基本语法

    下面是Javascript中正则表达式的使用及基本语法的完整攻略。 一、什么是正则表达式 正则表达式,也称为正规表示式、regex或regexp,是用于匹配字符串中模式的一种表达式。正则表达式在大多数编程语言中都是支持的,它允许我们快速地检索和替换文本。 二、正则表达式的语法 Javascript中使用正则表达式时,需要通过RegExp对象来创建和使用。其基…

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