แอนนาแกรม −
กล่าวกันว่าสายอักขระสองสายเป็นแอนนาแกรมของกันและกัน หากการจัดเรียงใหม่ ใช้ถ้อยคำใหม่ หรือสับเปลี่ยนสตริงแรก เราสามารถสร้างสตริงที่เหมือนกันกับสตริงที่สองได้
ตัวอย่างเช่น −
'บางสิ่ง' และ '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