gpt4 book ai didi

javascript - 查找字符串中存在的所有给定字符。字符可以出现在字符串中的任何位置

转载 作者:行者123 更新时间:2023-12-02 22:46:50 25 4
gpt4 key购买 nike

我正在尝试查找给定的字符是否存在于字符串中。

对于下面的示例,它返回 true。但它应该是 false,因为 'abcdef' 中只有一个 'a'。

我的要求:

  1. 确认字符串中存在所有给定字符。
  2. 字符可以位于字符串中的任何位置。不需要它们应该处于相同的顺序。但计数很重要。在下面的示例中,我给出了“aca”,其中包含两个“a”,但正则表达式中的值仅包含“abcdef”中的一个“a”。

如何检查字符串中是否存在所有给定的字符?

var regEx = new RegExp("^[abcdef]+$");
regEx.test('aca') // returns true. **Expected**: false for this case

最佳答案

您可以先找到每个字符的计数,然后使用 every()检查所有字符是否都存在的方法。

function findAll(str, key) {
let count = str.split('').reduce((count, c) => {
count[c] = count[c] + 1 || 1;
return count;
}, {});

return key.split('').every(c => {
if (count[c]) {
count[c]--;
return true;
}
});
}

console.log(findAll("abcdef", "abc"));
console.log(findAll("abcdef", "abca"));
console.log(findAll("abcdef", "xyz"));

关于javascript - 查找字符串中存在的所有给定字符。字符可以出现在字符串中的任何位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364674/

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