gpt4 book ai didi

javascript - 有没有办法在剩余参数的输出中保留空格?

转载 作者:行者123 更新时间:2023-12-03 00:24:00 27 4
gpt4 key购买 nike

带有休息参数的函数的输出中没有保留空格

我找到了一个解决方法,只需用初始空格声明参数即可。但很高兴知道我是否遗漏了一些东西,或者也许有更好的方法来解决这个问题,或者也许就是这样。

function myFriends(greeting, ...friends) {
console.log(`${greeting}, ${friends}`);
console.log(greeting + ", " + friends);
}

myFriends("Hello!", "Ryan", "Zoe", "Jack");
myFriends("Hello!", "Ryan", " Zoe", " Jack"); //work-around

最佳答案

friends 是一个数组。当您执行 ${friends} (或 +friends)时,解释器会尝试通过调用数组的 toString 方法将其转换为字符串,以便可以将其连接起来。这通过逗号(并且没有空格)连接所有项目。

通过逗号和空格显式连接很简单:

function myFriends(greeting, ...friends) {
const friendsStr = friends.join(', ');
console.log(`${greeting}, ${friendsStr}`);
console.log(greeting + ", " + friendsStr);
}

myFriends("Hello!", "Ryan", "Zoe", "Jack");

只是为了说明,您还可以覆盖 toString 方法(但不要在实际代码中执行此操作):

Array.prototype.toString = function() {
return this.join(', ');
};
function myFriends(greeting, ...friends) {
console.log(`${greeting}, ${friends}`);
console.log(greeting + ", " + friends);
}

myFriends("Hello!", "Ryan", "Zoe", "Jack");

关于javascript - 有没有办法在剩余参数的输出中保留空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54168869/

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