如何在单词数组中找到字谜?



我正在尝试从单词数组中获得所有字谜:

arr = ['cab','bac','tru']

预期的输出应该是:

{abc: ['cab','bac']}

我试着实现下面的代码:

var words = ['cab', 'bac', 'mihir']
let result = {}
words.forEach(word => {
var a = word.split("").sort().join("");
result[word] = a
})
console.log(result)

我如何遍历值,以便我可以访问键,如果他们有相同的值?

您可以将排序后的单词用作对象中的键,并在数组中收集与键匹配的每个单词:

var words = ['cab', 'bac', 'mihir']
let result = {}
for (const word of words) {
const sorted = word.split("").sort().join("");
if (sorted in result) {
// If there is already an entry in the result, append this word
result[sorted].push(word);
} else {
// Otherwise, create one
result[sorted] = [word];
}
}
console.log(result);

最新更新