เราจำเป็นต้องเขียนฟังก์ชันที่รับอาร์เรย์ของ Number literals เป็นหนึ่งและอาร์กิวเมนต์เท่านั้น ตัวเลขที่อยู่ในดัชนีคู่ควรส่งคืนตามที่เป็นอยู่ แต่ควรส่งคืนตัวเลขที่อยู่ในดัชนีคี่คูณด้วยดัชนีที่เกี่ยวข้อง
ตัวอย่างเช่น −
หากอินพุตคือ:[5, 10, 15, 20, 25, 30, 50, 100]จากนั้นฟังก์ชันควรส่งคืน:[5, 10, 15, 60, 25, 150, 50, 700]ก่อน>เราจะใช้วิธี Array.prototype.reduce() เพื่อสร้างอาร์เรย์ที่จำเป็นและโค้ดสำหรับฟังก์ชันจะเป็น -
ตัวอย่าง
const arr =[5, 10, 15, 20, 25, 30, 50, 100];const multiplyOdd =(arr) => { return arr.reduce((acc, val, ind) => { if( ind % 2 ===1){ val *=ind; }; return acc.concat(val); }, []);};console.log(multiplyOdd(arr));ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ 5, 10, 15, 60, 25, 150, 50, 700]