大家好,在这篇文章中,我将在示例的帮助下尝试解释JavaScript Array Map()方法。
MAP()方法在数组中的每个元素上迭代,并创建新数组将每个元素传递到特定函数。
语法:
map()方法的一般语法为:
array.map(callback(currentValue), thisArg)
参数: map()方法接受两个参数:
-
callback
-此功能在数组的每个元素上调用,并返回将在新数组中添加的值。它需要3个参数:- CurrentValue:这是一个必需的参数,它具有当前元素的值。
- 索引:这是一个可选参数,它保存了当前元素的索引。
- 数组:它是一个可选参数,它保存数组。
-
thisArg
(可选) - 用于将传递给该函数的值保持。默认情况下它是未定义的。
返回值:它返回一个带有元素的新数组,作为每个元素的callback
函数的返回值。
注意:
- map()不会更改原始数组。
- 它为每个数组元素执行
callback
- 它不会为没有值的元素执行
callback
。
以下示例说明了JavaScript中的数组映射()方法的使用:
示例1:在下面的示例map()方法中,将原始数组的元素带入并带有带有元素平方的新数组。
const numbers = [2, 5, 8];
const sqrNumbers = numbers.map((num) => num * num);
console.log(numbers); // [2, 5, 8];
console.log(sqrNumbers); // [4, 25, 64];
示例2:在下面的示例map()方法中,从名称数组中获取每个城市名称,并带有大写城市名称的新数组。
const names = ["brampton", "london", "new york"];
const UpperCaseNames = names.map((name) => name.toLocaleUpperCase());
console.log(names); // ["brampton", "london", "new york"]
console.log(UpperCaseNames); // ["BRAMPTON", "LONDON", "NEW YORK"]
示例3:在下面的示例map()方法中迭代每个员工数据,并返回Newarr中的每个员工的网络级。
const employees = [
{ name: "Adam", salary: 5000, bonus: 500, tax: 1000 },
{ name: "Noah", salary: 8000, bonus: 1500, tax: 2500 },
{ name: "Fabiano", salary: 1500, bonus: 500, tax: 200 },
{ name: "Alireza", salary: 4500, bonus: 1000, tax: 900 },
];
// calculate the net amount to be given to the employees
const calcAmt = (obj) => {
newObj = {};
newObj.name = obj.name;
newObj.netEarning = obj.salary + obj.bonus - obj.tax;
return newObj;
};
let newArr = employees.map(calcAmt);
console.log(newArr);
/* Output will be :
[
{ name: 'Adam', netEarning: 4500 },
{ name: 'Noah', netEarning: 7000 },
{ name: 'Fabiano', netEarning: 1800 },
{ name: 'Alireza', netEarning: 4600 }
] */
在结论映射()中,方法用于修改数组中的每个元素,并返回带有修改元素的新数组。
感谢您阅读这篇文章。
有关更多信息,请检查以下资源: