เราจำเป็นต้องเขียนฟังก์ชันที่รับอาร์เรย์และส่งกลับวัตถุที่มีสองอาร์เรย์เป็นค่าบวกและค่าลบ ทั้งสองควรมีรายการบวกและลบทั้งหมดตามลำดับจากอาร์เรย์
เราจะใช้เมธอด 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 ] }