Javascript ';返回';没有输出所有结果

Javascript ';返回';没有输出所有结果,javascript,return,console.log,Javascript,Return,Console.log,我有一个简单的函数,其中我想获取一个字符串数组,该数组的大小写混合,并用第一个字母大写输出数组中的每个值 当我调用函数时,使用“return”元素,控制台日志只生成数组中的第一个值->London 如何生成每个字符串首字母大写的整个城市数组 注意:当我用console.log(result)替换return时,函数调用工作顺利,但是在控制台中,在数组用大写字母输出结果之后,一个“未定义”值类型对应于行“console.log(capFirstLetter(cities));” script.js

我有一个简单的函数,其中我想获取一个字符串数组,该数组的大小写混合,并用第一个字母大写输出数组中的每个值

当我调用函数时,使用“return”元素,控制台日志只生成数组中的第一个值->London

如何生成每个字符串首字母大写的整个城市数组

注意:当我用console.log(result)替换return时,函数调用工作顺利,但是在控制台中,在数组用大写字母输出结果之后,一个“未定义”值类型对应于行“console.log(capFirstLetter(cities));”

script.js.60与行console.log(结果)相关&
script.js.64与行相关

您应该使用
.map
将一个数组转换为另一个数组-在.
map
回调中返回新数组元素:

let cities=[‘伦敦’、‘曼彻斯特’、‘伯明翰’、‘利物浦’];
让capFirstLetter=(列表)=>{
返回列表.map((输入)=>{
input=input.toLowerCase();
设firstLetter=输入[0];
返回input.replace(firstLetter,firstLetter.toUpperCase());
控制台日志(结果);
});
}
console.log(capFirstLetter(城市))
当我调用函数时,使用“return”元素,控制台日志只生成数组中的第一个值->London

这是因为您的
返回
在第一个循环之后停止了迭代(
for
),因此
结果
将只包含第一个城市

注意:当我用console.log(result)替换return时,函数调用工作顺利,但是在控制台中,在数组用大写字母输出结果之后,一个“未定义”的值类型对应于行console.log(capFirstLetter(cities))

这是因为函数不返回任何内容(在JS中,这意味着函数将返回未定义的内容)

要使其正常工作,您可以使用地图:

let cities=[‘伦敦’、‘曼彻斯特’、‘伯明翰’、‘利物浦’];
让capFirstLetter=list=>list.map(city=>city.charAt(0.toUpperCase()+city.slice(1.toLowerCase());
console.log(capFirstLetter(城市))
let cities = ['lonDon', 'ManCHESTer', 'BiRmiNGHAM', 'liVERpoOl'];

let capFirstLetter = (list) => {
  for(let i = 0; i < list.length; i++) {
    let input = list[i].toLowerCase();
    let firstLetter = input[0];
    let result = input.replace(firstLetter, firstLetter.toUpperCase());
    return restult;
  }
}

console.log(capFirstLetter(cities));
London ->script.js:60
Manchester ->script.js:60
Birmingham ->script.js:60
Liverpool->script.js:60
undefined ->script.js:64