javascript - 如何验证数组中的字母是否重复?
问题描述
我想验证数组中的字符串重复不超过 3 次,即:
let array = ['A', 'A', 'A', 'B']
let array2 = ['A', 'A', 'A', 'A', 'B'] <-- Not valid
如果它接收的数组具有重复这些时间的值,则代码不会继续工作
谢谢
解决方案
您可以将array.some()与array.filter()结合使用来检查一个值是否只存在 x 次。
const array = ['A', 'A', 'A', 'B'];
const array2 = ['A', 'A', 'A', 'A', 'B'];
const isValid = (arr, limit) => {
return !arr.some((char) => (
arr.filter((ch) => ch === char).length > limit
// use the next line for a case insensitive check
// arr.filter((ch) => ch.toLowerCase() === char.toLowerCase()).length > limit
));
}
console.log(isValid(array, 3));
console.log(isValid(array2, 3));
推荐阅读
- java - 在 Eclipse Collections 中使用软值映射
- javascript - 是否可以将变量的值添加到元素的类中?
- reactjs - 试图 npm 启动一个反应应用程序,得到这个错误。该应用程序以前工作过
- sql - 如何在 SQL/LookerML 中测量一组天的平均计数,每个天都有自己的数据点
- java - 在 Java 中存储排序数组,不理解 .clone() Java
- javascript - 将这个 compose 函数传递给 Javascripts reduce 的执行流程是什么?
- python - 使用 split() 遍历字符串中的单词
- java - iText - 如何获取用于打印的 PDF 二进制文件
- c++ - 使用 ProtocolBuffers 时,有没有办法为生成的 C++ 代码指定输出导入?
- http-status-code-404 - 良好的 reCAPTCHA 下载音频会给出 404