【发布时间】:2021-07-25 16:21:12
【问题描述】:
我正在学习地图功能(我对 JS 和编码非常陌生)。 首先,我在使用map-method的地方直接定义了内部函数;效果很好。 我稍后尝试通过对函数的引用使其工作,但我不断收到“无法读取未定义的属性'0'”。 将不胜感激任何帮助,因为这可能是我无法理解的非常基本的东西......
// this is working
let arrayOfWords = (['abc', 'bbc', 'cbc'])
function getUpperCase(arrayOfWords) {
let wordArray2 = arrayOfWords.map(function(item) {
return item = (item[0].toUpperCase()) + item.slice(1);
});
return wordArray2
}
// "Cannot read property '0' of undefined"
let arrayOfWords = (['abc', 'bbc', 'cbc'])
function getUpperCase(arrayOfWords) {
let wordArray2 = arrayOfWords.map(convert());
return wordArray2
}
function convert(item){
return item = (item[0].toUpperCase()) + item.slice(1);
}
【问题讨论】:
-
请你分享一个
arrayOfWords的例子来证明这个问题? -
wordArray在第二个函数中应该是arrayOfWords? -
wordArray.map(convert())应该是wordArray.map(convert)(传递对函数的引用,而不是调用函数的结果)但是如果没有看到您的输入值,我们将无能为力。在第一个示例中,顺便说一句,您没有从函数返回值。 -
当然应该是arrayOfWords,我在这里改写时出错了
-
输入示例:(['abc', 'bbc', 'cbc'])
标签: javascript methods