我们需要编写一个函数,该函数接受一个数组并返回带有正负两个数组的对象。它们都应分别包含数组中的所有正项和负项。
我们将使用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 ] }