Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの連続数の合計


たとえば、配列を取り込んで、連続する同様の数値が合計された別の配列を返す関数を作成する必要があるとします。

例-

const array = [1, 5, 5, 5, 8, 8, 9, 1, 4, 4, 2];

出力は-

である必要があります
[1, 15, 16, 9, 1, 8, 2]

連続するすべての5が15まで加算され、次に2つの連続する8が16まで加算され、同様に4が8まで加算されます。

したがって、この関数のコードを書いてみましょう。ここでは、Array.prototype.reduce()メソッドを使用して、元の配列を縮小し、同時に新しい配列を作成します。

const array = [1, 5, 5, 5, 8, 8, 9, 1, 4, 4, 2];
const sumConsecutive = (array) => {
   return array.reduce((acc, val) => {
      if (acc.last === val) {
         acc.arr[acc.arr.length - 1] += val;
      } else {
         acc.arr.push(val);
         acc.last = val;
      }
      return acc;
   }, { arr: [], last: undefined }).arr;
};
console.log(sumConsecutive(array));

出力

コンソールの出力は-

になります
[1, 15, 16, 9, 1, 8, 2]

  1. JavaScriptの配列の数の2乗および2乗の合計

    問題 数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、配列内の各数値を取得し、偶数の場合は平方根、奇数の場合は平方根にして、小数点以下第2位に四捨五入されたすべての新しい数値の合計を返す必要があります。 例 以下はコードです- const arr = [45, 2, 13, 5, 14, 1, 20]; const squareAndRootSum = (arr = []) => {    const res = arr.map(el => {       if(el % 2 === 0){ &

  2. C++での連続した数値の合計

    正の整数Nがあるとすると、連続する正の整数の合計として、いくつの異なる方法で書くことができるかを見つける必要がありますか? したがって、入力が10の場合、出力は3になります。これは、10を5+5および7+3として表すことができるため、2つの異なる方法があります。 これを解決するには、次の手順に従います- ret:=1 初期化i:=2の場合(iを1増やします)、実行- 合計:=(i *(i + 1))/ 2 Nの場合、- ループから出てきます rem:=N-合計 ret:=ret +(rem mod iが0の場合は1、それ以外の場合は0)