Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เปรียบเทียบสตริงใน JavaScript และส่งคืนเปอร์เซ็นต์ของความน่าจะเป็น


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่สามารถเปรียบเทียบสองสตริงและส่งคืนเปอร์เซ็นต์ความน่าจะเป็นของจำนวนที่เหมือนกัน เปอร์เซ็นต์จะเป็นเพียงหน่วยวัดของอักขระหลายตัวที่ทั้งสองสตริงมีเหมือนกัน

หากเหมือนกันหมด เอาต์พุตควรเป็น 100 และหากไม่มีอักขระร่วมเลย เอาต์พุตควรเป็น 0

ตัวอย่าง

const คำนวณความคล้ายคลึง =(str1 ='', str2 ='') => { ปล่อยให้นานขึ้น =str1; ให้สั้นลง =str2; ถ้า (str1.length  { str1 =str1 .toLowerCase(); str2 =str2.toLowerCase(); ให้ arr =อาร์เรย์ใหม่ (); สำหรับ (ให้ i =0; i <=str1.length; i++) { ให้ lastValue =i; สำหรับ (ให้ j =0; j <=str2.length; j++) { if (i ==0){ arr[j] =j; } else if(j> 0){ ให้ newValue =arr[j - 1]; if(str1.charAt(i - 1) !=str2.charAt(j - 1)) newValue =Math.min(Math.min(newValue, lastValue), arr[j]) + 1; arr[j - 1] =ค่าสุดท้าย; LastValue =ค่าใหม่; } } if (i> 0) arr[str2.length] =lastValue; } return arr[str2.length];};console.log(calculateSimilarity('Mathematics','Mathamatecs'));

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>[ [ 1, 10, 100 ], [1, 10, 200 ], [1, 10, 300 ], [1, 20, 100 ], [1, 20, 200 ], [1, 20, 300 ], [2, 10, 100 ], [2, 10, 200 ], [2, 10, 300 ], [2, 20, 100 ], [2, 20, 200 ], [2, 20, 300 ]]