JavaScript 数组的主要用法和操作方法

  1. 检测数组

如何检测一个变量是否为数组?在 JavaScript 中,可以使用 Array.isArray() 方法来检测一个对象是否为数组:

let arr = [1, 2, 3];
console.log(Array.isArray(arr)); // true
  1. 创建数组

在 JavaScript 中,可以使用字面量语法或构造函数的方式来创建一个数组:

// 使用字面量语法来创建数组
let arr1 = [1, 2, 3];
// 使用构造函数来创建数组
let arr2 = new Array(1, 2, 3);

Array.from() 方法

let obj = { length: 3, 0: 'a', 1: 'b', 2: 'c' };
let arr = Array.from(obj);
console.log(arr); // [ 'a', 'b', 'c' ]
  1. 访问和修改数组元素

在 JavaScript 中,可以使用下标 operator(方括号 [])来访问和修改数组元素,下标从 0 开始:

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

arr[0] = 10;
console.log(arr); // [10, 2, 3]
  1. 添加和删除数组元素

可以使用 push() pop() 方法向数组末尾添加和删除元素,

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

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

使用 unshift()shift() 方法向数组开头添加和删除元素:

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

arr.shift();
console.log(arr); // [1, 2, 3]

另外,还可以使用 splice() 方法向数组的任意位置添加和删除元素:

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

arr.splice(2, 1);
console.log(arr); // [1, 4, 3]

arr.splice(1, 1, 2, 2);
console.log(arr); // [1, 2, 2, 3]
  1. 迭代和遍历数组

有多种方式对数组进行迭代和遍历,其中最常用的是 for 循环、forEach() 方法、map() 方法和 reduce() 方法:

let arr = [1, 2, 3];
// 使用 for 循环迭代数组
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

// 使用 forEach() 方法遍历数组
arr.forEach(function(item, index, array) {
  console.log(item);
});

// 使用 map() 方法对数组中每个元素进行映射
let newArr = arr.map(function(item, index, array) {
  return item * 2;
});
console.log(newArr); // [2, 4, 6]

// 使用 reduce() 方法对数组进行累加求和
let sum = arr.reduce(function(prev, curr, index, array) {
  return prev + curr;
}, 0);
console.log(sum); // 6
  1. 排序和搜索数组元素

可以使用 sort() 方法对数组进行排序,使用 indexOf()、lastIndexOf()、find() findIndex() 方法进行搜索:

let arr = [3, 1, 4, 2, 5];
arr.sort(function(a, b) {
  return a - b;
});
console.log(arr); // [1, 2, 3, 4, 5]

let index = arr.indexOf(2);
console.log(index); // 1

let lastIndex = arr.lastIndexOf(3);
console.log(lastIndex); // 2

let found = arr.find(function(item) {
  return item > 2;
});
console.log(found); // 3

let foundIndex = arr.findIndex(function(item) {
  return item > 2;
});
console.log(foundIndex); // 2
  1. 数组的过滤和查找

可以使用 filter() 方法进行数组的过滤和查找,使用 find()findIndex() 方法进行查找:

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

let found = arr.find(function(item) {
  return item > 2;
});
console.log(found); // 3

let foundIndex = arr.findIndex(function(item) {
  return item > 2;
});
console.log(foundIndex); // 2
  1. 数组的拷贝和合并

有多种方式对数组进行拷贝和合并,其中最常用的是 slice() 方法和 concat() 方法:

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

let arr3 = [4, 5, 6];
let arr4 = arr1.concat(arr3);
console.log(arr4); // [1, 2, 3, 4, 5, 6]

此外,ES6 新增了扩展运算符(...)的语法,可以方便地将数组展开为多个参数或合并多个数组:

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [...arr1, ...arr2];
console.log(arr3); // [1, 2, 3, 4, 5, 6]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mars空港

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值