📜  map() - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:51.371000             🧑  作者: Mango

Javascript中的map()函数

在Javascript中,map()函数是一个非常常见且强大的工具,它允许我们快速而简便地对一个数组中的每一个元素进行一些操作,并将操作后的结果返回成一个新的数组。在本文中,我们将深入讨论map()函数的各种用法,并给出一些例子供读者参考。

语法
array.map(function(currentValue, index, arr), thisValue)

参数说明:

  • currentValue:必选,表示数组中正在处理的当前元素;
  • index:可选,表示数组中正在处理的当前元素的位置;
  • arr:可选,表示当前数组;
  • thisValue:可选,传递给函数的值用作this。
简单用法
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(function(number) {
  return number * 2;
});

console.log(doubledNumbers);
// expected output: [2, 4, 6, 8, 10]

在上述示例中,我们定义了一个数组numbers并使用map()函数将其中的元素都乘以2。我们将函数传递给map()函数,并将返回值赋给了一个新的数组doubledNumbers

与箭头函数的配合使用
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(number => number * 2);

console.log(doubledNumbers);
// expected output: [2, 4, 6, 8, 10]

在上面的示例中,我们使用了箭头函数的语法,使代码更加简洁。number => number * 2这一行等同于function(number) { return number * 2; }。当函数体只有一行且返回值时,可简写为箭头函数。

操作数组中的对象元素
const students = [
  { name: 'Alice', age: 20 },
  { name: 'Bob', age: 21 },
  { name: 'Charlie', age: 22 }
];
const studentNames = students.map(student => student.name);

console.log(studentNames);
// expected output: ['Alice', 'Bob', 'Charlie']

在这个示例中,我们定义了一个包含对象的数组students。我们使用map()函数来提取每个学生的名称,将其放入一个新的数组studentNames中。我们使用了箭头函数的写法使代码更加简洁。

更改原数组中的元素
const numbers = [1, 2, 3, 4, 5];
numbers.map(number => number * 2);

console.log(numbers);
// expected output: [1, 2, 3, 4, 5]

值得注意的是,map()函数不会更改原始数组。在上面的示例中,我们使用map()函数将数组中的元素都乘以2,但不会更改原始的数组numbers

返回空元素
const numbers = [1, 2, 3, 4, 5];
const emptyElements = numbers.map(() => {});

console.log(emptyElements);
// expected output: [empty × 5]

我们可以在map()函数中返回一个空元素(空对象)来快速创建一个同样长度的数组。

总结

map()函数是Javascript中一项非常实用的功能,它允许我们方便地对数组中的每个元素进行操作并返回新的数组。使用map()函数时,我们可以使用箭头函数使代码更简洁,还可以操作数组中的对象元素。需要注意的是,map()函数不会更改原始数组。

以上就是map()函数的一些应用场景,希望对读者有所帮助。