gpt4 book ai didi

javascript - 修改函数以仅反转第三个字

转载 作者:行者123 更新时间:2023-11-28 12:57:49 25 4
gpt4 key购买 nike

请记住,这个问题可能看起来重复,但之前没有被问过。

我应该使用什么来修改下面的函数,以便它只反转字符串中的每个第三个单词,同时保持在其当前位置(切片或其他位置)?

function reverseStringWords (sentence) {
return sentence.split(' ').map(function(word) {
return word.split('').reverse().join('');
}).join(' ');
}
console.log(reverseStringWords("london glasgow manchester edinburgh oxford liverpool"));

目前是nodnol wogsalg retsehcnam hgrubnide drofxo Looprevil

应该是伦敦格拉斯哥retsehnam爱丁堡牛津looprevil

最佳答案

您还可以使用“Array.map”,如下所示

解释 - 我们需要计算出每三个元素,这意味着如果我们有一些数字表示我在遍历数组时所处的位置,那么我们可以检查该位置的余数 3,如果它是 0,则表示它的第三个、第六个,第九个...元素

现在,为了找到余数,我们有 % 运算符,以及一些可以帮助我们找出当前所处元素位置的数字,即 index,即 中的第二个参数>map 函数,但我们必须向 index 添加 1,因为在 Javascript 中索引是从 0 而不是 1 开始

因此,查找每三个元素的逻辑变为 (i + 1) % 3 == 0

function reverseStringWords (sentence) {
return sentence.split(' ').map((d, i) =>
(i+1) % 3 == 0
? [...d].reverse().join('')
: d)
}

console.log(reverseStringWords("london glasgow manchester edinburgh oxford liverpool"))

关于javascript - 修改函数以仅反转第三个字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53373238/

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