Unique characters: Difference between revisions
→{{header|JavaScript}}: Added a variant which folds the strings to a hash of character frequencies
(→{{header|JavaScript}}: Added a variant which folds the strings to a hash of character frequencies) |
|||
Line 633:
{{Out}}
<pre>["1","5","6","b","g","s","t","z"]</pre>
Or, folding the strings (with Array.reduce) down to a hash of character frequencies:
<lang javascript>(() => {
"use strict";
// uniqueChars :: [String] -> [Char]
const uniqueChars = ws =>
Object.entries(
ws.reduce(
(dict, w) => [...w].reduce(
(a, c) => Object.assign({}, a, {
[c]: 1 + (a[c] || 0)
}),
dict
), {}
)
)
.flatMap(
([k, v]) => 1 === v ? (
[k]
) : []
);
// ---------------------- TEST -----------------------
const main = () =>
uniqueChars([
"133252abcdeeffd", "a6789798st", "yxcdfgxcyz"
]);
return JSON.stringify(main());
})();</lang>
{{Out}}
<pre>["1","5","6","b","s","t","g","z"]</pre>
=={{header|J}}==
|