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

JavaScriptでシャーロックと配列の問題を解決する


ワトソンはシャーロックに長さNの配列Aを与えます。次に、左側の要素の合計が右側の要素の合計と等しくなるように、配列に要素が存在するかどうかを判断するように求めます。

この関数を作成する必要があります。Numbersの配列を取り、そのような数値が配列に存在する場合は、インデックスを返す必要があります。そうでない場合は、-1を返す必要があります。それでは、この関数のコードを書いてみましょう-

const arr = [1, 2, 3, 4, 5, 7, 3];
const arr2 = [4, 6, 3, 4, 5, 2, 1];
const isSherlockArray = arr => {
   let sum = arr.reduce((acc, val) => acc+val);
   let leftSum = 0;
   for(let i = 0; i < arr.length; i++){
      sum -= arr[i];
      if(sum === leftSum){
         return i;
      };
      leftSum += arr[i];
   };
   return -1;
};
console.log(isSherlockArray(arr));
console.log(isSherlockArray(arr2));

出力

コンソールの出力は-

になります
4
-1

  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. JavaScriptを使用して配列の差の合計を並べ替えて見つける

    問題 整数の配列を受け取るJavaScript関数を作成する必要があります。この関数は、配列内の連続するペア間の差を降順で合計する必要があります。 例-配列が-の場合 [6, 2, 15] その場合、出力は-になります。 (15 - 6) + (6 - 2) = 13 例 以下はコードです- const arr = [6, 2, 15]; const sumDifference = (arr = []) => {    const descArr = arr.sort((a, b) => b - a);    if (descArr.