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

จะเปลี่ยนคำเป็น JavaScript ตัวเลขทั้งหมดได้อย่างไร


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

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

one five seven eight  -------> 1578
Two eight eight eight -------> 2888

อันนี้ค่อนข้างตรงไปตรงมา เราวนซ้ำในอาร์เรย์ของคำที่คั่นด้วยช่องว่างและเพิ่มตัวเลขที่เหมาะสมลงในผลลัพธ์ต่อไป

รหัสสำหรับการทำเช่นนี้จะเป็น -

ตัวอย่าง

const wordToNum = (str) => {
   const legend = ['zero', 'one', 'two', 'three', 'four', 'five', 'six','seven', 'eight', 'nine'];
   return str.toLowerCase().split(" ").reduce((acc, val) => {
      const index = legend.indexOf(val);
      return (acc*10 + index);
   }, 0);
};
console.log(wordToNum('one five six eight'));
console.log(wordToNum('zero zero two zero eight'));
console.log(wordToNum('eight six seven five'));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

1568
208
8675