gpt4 book ai didi

Javascript:从字符串中删除原始字符和重复字符

转载 作者:行者123 更新时间:2023-12-01 13:59:19 25 4
gpt4 key购买 nike

我需要的是删除原始字符及其重复字符,无论它是小写还是大写。如果它的大写或小写也应该保留

这是我当前的代码,但如果字符串是大写然后是小写,它无法过滤。

const removeDuplicateChar = s => s
.split('')
.filter( ( cur, index, self ) => self.lastIndexOf( cur ) === self.indexOf( cur ) )
.join('')

Actual Output

'services' becomes 'rvic'
'stress' becomes 'tre'
'ServicEs' becomes 'ServicEs'
'streSs' becomes 'treS'
'DeadSea' becomes 'DdS'

Expected Output

'services' should be 'rvic'
'stress' should be 'tre'
'ServicEs' should also be 'rvic'
'streSs' should also be 'tre'
'DeadSea' becomes 'S'

最佳答案

这应该更快,因为循环中没有 indexOf:

const removeDuplicateChar = s => {
let counts = Array.from(s.toLowerCase()).reduce(
(counts, char) => counts.set(char, (counts.get(char) || 0) + 1) && counts,
new Map());
return Array.from(s).filter(letter =>
counts.get(letter.toLowerCase()) == 1
).join('');
}

['services', 'stress', 'ServicEs', 'streSs', 'DeadSea'].forEach(word =>
console.log(word, removeDuplicateChar(word))
)

关于Javascript:从字符串中删除原始字符和重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51171079/

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