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