js 定义 数组 map
时间: 2023-11-18 10:53:39 浏览: 114
在JavaScript中,可以使用`Array.prototype.map()`方法来创建一个新的数组,该数组由原始数组经过某种操作(回调函数)后的返回值组成。
`map()`方法接受一个回调函数作为参数,该回调函数会被依次应用于原始数组中的每个元素,并将返回值组成一个新的数组。
下面是一个示例:
```javascript
let numbers = [1, 2, 3, 4, 5];
let doubledNumbers = numbers.map(function(number) {
return number * 2;
});
console.log(doubledNumbers); // 输出 [2, 4, 6, 8, 10]
```
在上面的例子中,`numbers`是原始的数组,`map()`方法会遍历`numbers`中的每个元素,并将其传递给回调函数。回调函数中的操作是将每个元素乘以2,然后返回这个结果。最终,`doubledNumbers`数组中保存了原始数组中每个元素乘以2后的结果。
需要注意的是,`map()`方法不会修改原始数组,而是返回一个新的数组作为结果。因此,如果需要修改原始数组,可以在`map()`方法之后使用赋值操作将新数组赋给原始数组。
相关问题
js数组map
### JavaScript 数组 `map` 方法详解
#### 什么是 `map` 方法?
`map` 是 JavaScript 中数组的一个内置方法,用于对数组中的每个元素执行指定的操作并返回一个新的数组。该方法不会改变原始数组的内容,而是基于操作的结果生成新的数组[^1]。
#### 基本语法
以下是 `map` 的基本语法结构:
```javascript
array.map(function(item, index, array) {
// 对当前项进行处理的逻辑
});
```
- **item**: 当前正在被处理的数组元素。
- **index**(可选): 正在处理的元素索引。
- **array**(可选): 调用了 `map` 方法的原数组本身[^4]。
#### 返回值说明
`map` 方法会遍历数组中的每一项,并将每项传递给回调函数进行处理。最终,它会返回一个由这些处理结果组成的新数组。
#### 实际应用案例
下面是一些具体的例子来展示如何使用 `map`:
##### 示例 1:简单的数值倍增
如果有一个整数数组 `[1, 2, 3, 4]`,我们希望将其所有元素乘以 2 并得到新数组,则可以这样写:
```javascript
const numbers = [1, 2, 3, 4];
const doubledNumbers = numbers.map(num => num * 2);
console.log(doubledNumbers); // 输出: [2, 4, 6, 8]
```
##### 示例 2:字符串转大写
对于一个字符串数组,我们可以利用 `map` 将其全部转换成大写字母形式:
```javascript
const words = ['hello', 'world'];
const upperCaseWords = words.map(word => word.toUpperCase());
console.log(upperCaseWords); // 输出: ["HELLO", "WORLD"]
```
##### 示例 3:复杂数据结构映射
假设存在一组对象组成的数组,我们需要提取其中某个属性形成新的数组:
```javascript
const users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
];
const namesOnly = users.map(user => user.name);
console.log(namesOnly); // 输出: ["Alice", "Bob"]
```
#### 高级用法
除了标准库提供的 `map` 外,还可以自定义实现类似的映射功能。例如,在某些场景下可能需要扩展原型链来自定义行为[^3]:
```javascript
Array.prototype.customMap = function(callback) {
const newArray = [];
for (let i = 0; i < this.length; i++) {
newArray.push(callback(this[i], i, this));
}
return newArray;
};
// 测试自定义 map 函数
const testArr = [5, 10, 15];
const squaredValues = testArr.customMap(value => value * value);
console.log(squaredValues); // 输出: [25, 100, 225]
```
#### 总结
`map` 方法作为高阶函数之一,非常适合用来简化涉及批量变换的数据流编程模式。它的无副作用特性也使其成为函数式编程风格的重要组成部分。
数组 map
数组的 map 方法是 JavaScript 中常见的数组方法之一,它会对数组中的每一个元素应用一个回调函数,并将回调函数的返回值组成一个新的数组返回。下面是一个简单的例子:
```javascript
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]
```
在上面的例子中,我们定义了一个 `numbers` 数组,然后使用 `map` 方法对数组中的每一个元素进行乘以 2 的操作,并将得到的新数组赋值给 `doubledNumbers` 变量。最后,我们使用 `console.log()` 方法输出了 `doubledNumbers` 数组的值。
需要注意的是,`map` 方法不会改变原数组,而是返回一个新的数组。同时,我们也可以在回调函数中访问当前元素的索引和原数组本身。例如:
```javascript
const fruits = ['apple', 'banana', 'orange'];
const indexedFruits = fruits.map((fruit, index) => `${index}: ${fruit}`);
console.log(indexedFruits); // ['0: apple', '1: banana', '2: orange']
```
在上面的例子中,我们定义了一个 `fruits` 数组,并使用 `map` 方法将每一个元素都添加上了它的索引值。最后,我们用 `console.log()` 方法输出了新数组的值。
阅读全文
相关推荐














