Giả sử, chúng ta có một dãy số như thế này -
const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0];
Chúng tôi được yêu cầu viết một hàm JavaScript để đếm các nhóm số không âm (dương và 0) liên tiếp trong mảng.
Giống như ở đây, chúng ta có các không phủ định liên tiếp từ chỉ số 3 đến 3 (chỉ một phần tử, nhưng vẫn là một cụm) tạo thành một nhóm và sau đó từ 9 đến cuối mảng tạo thành nhóm thứ hai.
Do đó, đối với mảng này, hàm sẽ trả về 2.
Ví dụ
Sau đây là mã -
const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0]; const positiveClusters = arr => { return arr.reduce((acc, val, ind) => { if(val >= 0 && (arr[ind+1] < 0 || typeof arr[ind+1] === 'undefined')){ acc++; }; return acc; }, 0); }; console.log(positiveClusters(arr));
Đầu ra
Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -
2