Chúng ta được yêu cầu viết một hàm nhận vào một mảng và trả về một đối tượng có hai mảng là dương và âm. Cả hai đều phải chứa tất cả các mục tích cực và tiêu cực một cách khách quan từ mảng.
Chúng tôi sẽ sử dụng phương thức Array.prototype.reduce () để chọn các phần tử mong muốn và đặt chúng vào một đối tượng gồm hai mảng.
Ví dụ
Mã cho điều này sẽ là -
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));
Đầu ra
Đầu ra trong bảng điều khiển -
{ positive: [97, 13, 133, 32, 33,], negative: [ -108, -12, -887, -15, -77 ] }