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