
const anagrams = function (arr1, arr2) {
const hhe = arr1.split('');
//console.log(hhe)
var ciba = new Object();
// console.log(ciba)
hhe.forEach(element => {
if (Object.keys(ciba).includes(element)) {
ciba[element] += 1;
// console.log('?')
}
else if (!Object.keys(ciba).includes(element)) {
ciba[element] = 1;
// console.log(element)
}
});
var final_Arry = [];
//console.log(ciba)
//여기서 제귀 함수 만들어서 돌리면 됨요
var copy_ciba = Object.assign([], ciba);
var he = arr1.length;
const hey_recursion = function (heh, arr3, cibav, iv = 0) {
//console.log(cibav)
if (iv == arr3.length) {
return;
}
var arr_recusiron = arr3[iv].split('');
for (var i = 0; i < arr_recusiron.length; i++) {
if (Object.keys(cibav).includes(arr_recusiron[i])) {
cibav[arr_recusiron[i]] -= 1;
//console.log('?')
}
}
var g = 0;
var final_Count = 0;
(Object.values(cibav)).forEach(v => {
if (v != 0) {
g = 1;
++final_Count;
}
})
if (g == 0 && heh == arr3[iv].length) {
final_Arry.push(arr3[iv])
}
iv += 1;
cibav = Object.assign([], ciba);
return hey_recursion(heh, arr3, cibav, iv);
}
hey_recursion(he, arr2, copy_ciba)
console.log(final_Arry)
return (final_Arry)
}
anagrams('racer', ['crazer', 'carer', 'racar', 'caers', 'racer'])