เราต้องเขียนฟังก์ชันที่รับอาร์เรย์และคืนค่าออบเจ็กต์ที่มีสองอาร์เรย์ positive และ negative ทั้งคู่ควรมีองค์ประกอบบวกและลบจากอาร์เรย์ตามลำดับ
เราจะใช้ Array.prototype.reduce() เพื่อเลือกองค์ประกอบที่ต้องการและใส่ในออบเจ็กต์สองอาร์เรย์
ตัวอย่าง
โค้ดสำหรับนี้:
const arr = [97, -108, 13, -12, 133, -887, 32, -15, 33, -77]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); }else{ acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; console.log(splitArray(arr));ผลลัพธ์
ผลลัพธ์ในคอนโซล:
{ positive: [97, 13, 133, 32, 33,], negative: [ -108, -12, -887, -15, -77 ] }