javascript - map() 方法中未定义的参数
问题描述
我试图理解数组函数,但所有代码示例都由于一个特定原因而令人困惑。例如,在下面的代码中 x 没有定义。x 的作用是什么,它如何返回数组元素乘以 2?
const array1 = [1, 4, 9, 16];
// pass a function to map
const map1 = array1.map(x => x * 2);
console.log(map1);
// expected output: Array [2, 8, 18, 32]
解决方案
您可以在此处阅读有关map
功能的信息。
它以函数为参数,并在对数组中的每个值foo
应用此函数后返回一个新数组。foo
您可以在 javascript 中定义函数,如下所示:
function foo(x) {
return x*2;
}
或像这样:
(x) => x*2;
第二种形式是一个没有名称的箭头函数,可以内联定义。它得到参数x
和返回x*2
,就像函数一样foo
。
因此map
将此函数应用于foo
的每个值array1
,因此x
在这种情况下是 中的值array1
。
而不是这样写:
array1.map(x=>x*2);
你可以写:
for(let i in array1) {
array1[i] = foo(array[i]);
}
推荐阅读
- c++ - C ++:围绕原点旋转点,但输出点在一定程度上不正确
- c# - C# RestClient 调用 magento api 返回 401 签名无效
- ios - 如何在 iOS 中创建添加新联系人,例如 whatsapp
- java - 从 Java 中的 ArrayList 中获取 names()
- linux - 使用 mailx 发送邮件正文和附件 - Linux
- r - 在 R 中使用 igraph 计算属性类之间的网络统计信息
- r - 根据绘制数据的子集添加边际密度图
- javascript - Javascript没有做所有记录的总和
- c# - 如何通过 Unity Container 5 的配置文件(运行时配置)使用外部插件
- notepad++ - 仅将第一个逗号替换为 $ 行