Just another update
This commit is contained in:
parent
a25938f123
commit
00a190b0a6
6591 changed files with 94363 additions and 23227 deletions
23
Task/Anagrams/JavaScript/anagrams-1.js
Normal file
23
Task/Anagrams/JavaScript/anagrams-1.js
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
var fs = require('fs');
|
||||
var words = fs.readFileSync('unixdict.txt', 'UTF-8').split('\n');
|
||||
|
||||
var i, item, max = 0,
|
||||
anagrams = {};
|
||||
|
||||
for (i = 0; i < words.length; i += 1) {
|
||||
var key = words[i].split('').sort().join('');
|
||||
if (!anagrams.hasOwnProperty(key)) {//check if property exists on current obj only
|
||||
anagrams[key] = [];
|
||||
}
|
||||
var count = anagrams[key].push(words[i]); //push returns new array length
|
||||
max = Math.max(count, max);
|
||||
}
|
||||
|
||||
//note, this returns all arrays that match the maximum length
|
||||
for (item in anagrams) {
|
||||
if (anagrams.hasOwnProperty(item)) {//check if property exists on current obj only
|
||||
if (anagrams[item].length === max) {
|
||||
console.log(anagrams[item].join(' '));
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue