แอนนาแกรม −
กล่าวกันว่าสายอักขระสองสายเป็นแอนนาแกรมของกันและกัน หากการจัดเรียงใหม่ ใช้ถ้อยคำใหม่ หรือสับเปลี่ยนสตริงแรก เราสามารถสร้างสตริงที่เหมือนกันกับสตริงที่สองได้
ตัวอย่างเช่น −
'บางสิ่ง' และ 'emosghtin' เป็นแอนนาแกรมของกันและกัน
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสองสตริง พูด str1 และ str2 และคืนค่า จริง หากเป็นแอนนาแกรมของกันและกัน มิฉะนั้น จะเป็นเท็จ
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const str1 = "something";
const str2 = "emosghtin";
const validAnagram = (str1 = '',str2 = '') => {
let obj1 = {}
let obj2 = {}
if (str1.length !== str2.length){
return false
};
for(let char of str1){
obj1[char]= (obj1[char] || 0) + 1
};
for(let char of str2){
obj2[char]= (obj2[char] || 0) + 1
};
for(let val in obj1){
if(!(val in obj2) || (obj2[val] !== obj1[val])){
return false
}
};
return true;
};
console.log(validAnagram(str1, str2)); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
true