js Array集合
发布人:shili8
发布时间:2025-01-06 08:28
阅读次数:0
**JavaScript 数组集合**
数组是 JavaScript 中最基本也是最常用的数据结构之一。它是一种有序的、可变长度的集合,包含零个或多个值。每个值都有一个索引(也称为键),可以通过该索引来访问和修改。
**创建数组**
有几种方式可以创建一个数组:
javascript//1. 使用 Array() 构造函数let arr = new Array(5); // 创建长度为5 的空数组//2. 使用 лит字面量let arr = [1,2,3,4,5]; // 创建一个包含数字的数组//3. 使用 Array.from() 方法let arr = Array.from([1,2,3,4,5]); // 创建一个包含数字的数组
**数组属性和方法**
### 属性* `length`: 返回数组中元素的数量。
* `prototype`: 返回数组实例的原型。
### 方法#### 数组遍历方法* `forEach()`: 对每个元素执行回调函数。
* `map()`: 创建一个新数组,通过对每个元素执行回调函数来得到结果。
* `filter()`: 根据条件过滤出元素,返回一个新数组。
* `reduce()`: 将所有元素合并成一个值。
javascript// forEach() let arr = [1,2,3,4,5]; arr.forEach((element) => { console.log(element); // 输出每个元素}); // map() let arr = [1,2,3,4,5]; let newArr = arr.map((element) => { return element *2; // 将每个元素乘以2}); console.log(newArr); // 输出新数组// filter() let arr = [1,2,3,4,5]; let newArr = arr.filter((element) => { return element >3; // 过滤出大于3 的元素}); console.log(newArr); // 输出新数组// reduce() let arr = [1,2,3,4,5]; let sum = arr.reduce((acc, current) => { return acc + current; // 将所有元素相加},0); console.log(sum); // 输出结果
#### 数组查找方法* `find()`: 找到第一个匹配的元素。
* `findIndex()`: 找到第一个匹配的元素的索引。
javascript// find() let arr = [1,2,3,4,5]; let result = arr.find((element) => { return element >3; // 查找大于3 的元素}); console.log(result); // 输出结果// findIndex() let arr = [1,2,3,4,5]; let index = arr.findIndex((element) => { return element >3; // 查找大于3 的元素的索引}); console.log(index); // 输出结果
#### 数组排序方法* `sort()`: 对数组进行排序。
javascript// sort() let arr = [5,2,8,1,9]; arr.sort((a, b) => { return a - b; // 升序排序}); console.log(arr); // 输出结果let arr = [5,2,8,1,9]; arr.sort((a, b) => { return b - a; // 降序排序}); console.log(arr); // 输出结果
#### 数组合并方法* `concat()`: 将两个或多个数组合并成一个新数组。
javascript// concat() let arr1 = [1,2,3]; let arr2 = [4,5,6]; let newArr = arr1.concat(arr2); // 合并两个数组console.log(newArr); // 输出结果let arr1 = [1,2,3]; let arr2 = [4,5,6]; let newArr = [...arr1, ...arr2]; // 合并两个数组console.log(newArr); // 输出结果
#### 数组删除方法* `splice()`: 删除指定索引范围的元素。
* `slice()`: 返回指定索引范围的元素。
javascript// splice() let arr = [1,2,3,4,5]; arr.splice(1,2); // 删除第二个和第三个元素console.log(arr); // 输出结果// slice() let arr = [1,2,3,4,5]; let newArr = arr.slice(1,3); // 返回第二个和第三个元素console.log(newArr); // 输出结果
#### 数组复制方法* `slice()`: 复制整个数组。
javascript// slice() let arr = [1,2,3,4,5]; let newArr = arr.slice(); // 复制整个数组console.log(newArr); // 输出结果
#### 数组转换方法* `join()`: 将数组元素连接成一个字符串。
* `toString()`: 将数组元素连接成一个字符串。
javascript// join() let arr = [1,2,3,4,5]; let str = arr.join(','); // 将数组元素连接成一个字符串console.log(str); // 输出结果// toString() let arr = [1,2,3,4,5]; let str = arr.toString(); // 将数组元素连接成一个字符串console.log(str); // 输出结果
#### 数组转换为对象方法* `reduce()`: 将数组元素合并成一个对象。
javascript// reduce() let arr = [{ name: 'John' }, { age:30 }]; let obj = arr.reduce((acc, current) => { return { ...acc, ...current }; // 合并两个对象}, {}); console.log(obj); // 输出结果
#### 数组转换为集合方法* `Set()`: 将数组元素转换成一个集合。
javascript// Set() let arr = [1,2,3,4,5]; let set = new Set(arr); // 将数组元素转换成一个集合console.log(set); // 输出结果
#### 数组转换为映射方法* `Map()`: 将数组元素转换成一个映射。
javascript// Map() let arr = [{ name: 'John' }, { age:30 }]; let map = new Map(arr.map((element) => { return [element.name, element.age]; // 将对象转换成键值对})); console.log(map); // 输出结果
#### 数组转换为树形结构方法* `reduce()`: 将数组元素合并成一个树形结构。
javascript// reduce() let arr = [{ id:1, name: 'John', children: [] }, { id:2, name: 'Jane', children: [] }]; let tree = arr.reduce((acc, current) => { return acc[current.id] = current, acc; // 合并两个对象}, {}); console.log(tree); // 输出结果
#### 数组转换为图形结构方法* `reduce()`: 将数组元素合并成一个图形结构。
javascript// reduce() let arr = [{ id:1, name: 'John', children: [] }, { id:2, name: 'Jane', children: [] }]; let graph = arr.reduce((acc, current) => { return acc[current.id] = current.children.map((child) => child.id), acc; // 合并两个对象}, {}); console.log(graph); // 输出结果
#### 数组转换为图像结构方法* `reduce()`: 将数组元素合并成一个图像结构。
javascript// reduce() let arr = [{ id:1, name: 'John', children: [] }, { id:2, name: 'Jane', children: [] }]; let image = arr.reduce((acc, current) => { return acc[current.id] = current.children.map((child) => child.name), acc; // 合并两个对象}, {}); console.log(image); // 输出结果
#### 数组转换为音频结构方法* `reduce()`: 将数组元素合并成一个音频结构。
javascript// reduce() let arr = [{ id:1, name: 'John', children: [] }, { id:2, name: 'Jane', children: [] }]; let audio = arr.reduce((acc, current) => { return acc[current.id] = current.children.map((child) => child.name), acc; // 合并两个对象}, {}); console.log(audio); // 输出结果
#### 数组转换为视频结构方法