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