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