हमें एक फ़ंक्शन लिखना है जो एक सरणी लेता है और दो गुणों के साथ एक वस्तु देता है अर्थात् सकारात्मक और नकारात्मक। वे दोनों एक सरणी होनी चाहिए जिसमें सरणी से क्रमशः सभी सकारात्मक और नकारात्मक आइटम हों।
यह काफी सीधा है, हम वांछित तत्वों को चुनने के लिए Array.prototype.reduce() विधि का उपयोग करेंगे और उन्हें दो सरणियों के ऑब्जेक्ट में डालेंगे।
उदाहरण
const arr = [
[12, -45, 65, 76, -76, 87, -98],
[54, -65, -98, -23, 78, -9, 1, 3],
[87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
];
const splitArray = (arr) => {
return arr.reduce((acc, val) => {
if(val < 0){
acc['negative'].push(val);
} else {
acc['positive'].push(val);
}
return acc;
}, {
positive: [],
negative: []
})
};
for(let i = 0; i < arr.length; i++){
console.log(splitArray(arr[i]));
} आउटपुट
कंसोल में आउटपुट होगा -
{ positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
{ positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
{
positive: [ 87, 3, 123, 22, 23 ],
negative: [ -98, -2, -877, -5, -67 ]
}