Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

สตริงทั้งสองเป็น Anagram กันหรือไม่ใน JavaScript


Anagrams (อะนาซแกรม)

สองสตริงถูกกล่าวว่าเป็น anagram ของกันและกัน หากโดยการจัดเรียงใหม่ วลีใหม่ หรือการสับเปลี่ยนอันแรก เราสามารถสร้างสตริงที่เหมือนกับอันที่สองได้

ตัวอย่างเช่น

'something' และ 'emosghtin' เป็น anagram ของกันและกัน

เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงสองสตริง คือ str1 และ str2 และคืนค่า true ถ้าพวกเขาเป็น anagram ของกันและกัน false ถ้าไม่ใช่

ตัวอย่างโค้ด

โค้ดสำหรับการทำงานนี้จะเป็นดังนี้

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