gpt4 book ai didi

Javascript数组映射方法回调参数

转载 作者:行者123 更新时间:2023-11-30 17:28:53 25 4
gpt4 key购买 nike

Javascript 将 map 方法语法描述为:

arr.map(回调[, thisArg])

参数

  • 回调 - 生成新数组元素的函数,采用三个参数:
  • currentValue - 数组中正在处理的当前元素。
  • index - 数组中正在处理的当前元素的索引。
  • array 数组映射被调用。
  • thisArg - 执行回调时用作 this 的值。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

我可以编写一个 JS 函数,将字符串数组中每个单词的首字母大写,如下所示:

capyyIt(['john', 'nelson mandela', 'james booth'])     // returns ['John', 'Nelson mandela', 'James booth']

function capyyIt(names) {
return names.map(function capIt(curr) { return curr[0].toUpperCase() + curr.slice(1).toLowerCase(); });
}
  1. 如何使用 4 个参数编写 capIt(即使我可能不会全部使用它们)?我问是因为我用 4 个参数尝试过,但它似乎没有用。
  2. 如何将 capIt 编写为非立即调用的函数表达式 - 类似于:

    function capyyIt(names) {
    return names.map(capIt);
    }
    function capIt(curr,index,arr) {
    return curr[0].toUpperCase() + curr.slice(1).toLowerCase();
    }

最佳答案

我不是很清楚你在问什么,但让我们看看这是否是你要找的:

function capyyIt(names) {
names.map(function(value, index, collection){
capIt(val);
})
}

function capIt(name) {
return name.toUpperCase() + curr.slice(1).toLowerCase();
}

map 函数接受一个使用值、索引和集合作为参数的回调参数,您不能更改它。因此,如果你想对每个被映射的值做一些事情,你应该在回调函数中做。

关于Javascript数组映射方法回调参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23622778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com