javascript - 在 Javascript 中使用 Map 从一组字谜中查找唯一单词
问题描述
我知道如何在没有Map
. 用于此任务似乎更合乎逻辑,Map
但我似乎无法实现它。这甚至可能吗?
到目前为止,我绑定了这个:
function aclean(arr) {
let result = [];
let unique = new Map();
for(let i = 0; i < arr.length; i++){
let sorted = arr[i].toLowerCase().split("").sort().join("");
/*if (unique.add(sorted)) {
result.push(arr[i]);
}*/
}
return result;
}
let array = ["nap", "teachers", "cheaters", "PAN", "ear", "era", "hectares"];
console.log(aclean(array));
结果应该是:nap,teachers,ear
或PAN,cheaters,era
解决方案
您可以Set
使用标准化(小写,排序)字符串并返回过滤结果。
function aclean(array) {
let unique = new Set();
return array.filter(s => {
let sorted = s.toLowerCase().split("").sort().join("");
if (!unique.has(sorted)) {
unique.add(sorted);
return true;
}
});
}
let array = ["nap", "teachers", "cheaters", "PAN", "ear", "era", "hectares"];
console.log(aclean(array));
推荐阅读
- c - PIC I2C 时钟配置
- ios - 如果应用程序在 iOS 应用程序的前台,Cordova 插件 Firebase 没有收到推送通知
- angular - 通过 Jenkins 部署 dockerized Angular 应用程序的问题
- c# - 如何将 Autofac 与 Asp.net core 2.2 集成
- c# - Type.InvokeMember 在扩展方法中抛出“COMException:类型不匹配”
- ubuntu - 詹金斯连续显示“詹金斯准备工作时请稍候”,我需要做什么?
- hashicorp-vault - 在 docker 中运行 vault 时无法访问 vault ui:找不到 404 页面
- python - 访问路径包含编码字符(如空格)的文件
- python - 算法计算 2^n 的理论与实际时间复杂度
- c# - 没有构造函数的本地化依赖注入