Computer >> Máy Tính >  >> Lập trình >> Javascript

Nhóm các số giống nhau trong JavaScript

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 bắt buộc phải 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 phủ định liên tiếp từ chỉ số 3 đến 3 (chỉ một phần tử, nhưng vẫn còn nguyên) 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.

Vì vậy, đối với mảng này, hàm sẽ trả về 2.

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

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

Đầu ra trong bảng điều khiển sẽ là -

2