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