在JavaScript中对相同数字进行分组

我们有一个这样的数字数组-

const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0];

我们需要编写一个JavaScript函数,该函数对数组中非负数(正数和0)的连续组进行计数。

像这里一样,我们有从索引3到3的连续非负数(只有一个元素,但仍然是一个簇),形成一个组,然后从9到数组的末尾形成第二个组。

因此,对于此数组,该函数应返回2。

因此,让我们为该函数编写代码-

示例

为此的代码将是-

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));

输出结果

控制台中的输出将为-

2