用于平衡 JavaScript 中总和的数组索引

问题

我们需要编写一个 JavaScript 函数,它接受一个整数数组 arr 作为第一个也是唯一的参数。

我们的函数需要从数组中选择并返回一个这样的索引,使得其左侧元素的总和等于其右侧元素的总和。如果数组中不存在这样的索引,我们应该返回-1。

例如,如果函数的输入是 -

输入

const arr = [1, 2, 3, 4, 3, 2, 1];

输出

const output = 3;

输出说明

因为索引 3 两侧的元素总和等于 (6)。

示例

以下是代码 -

const arr = [1, 2, 3, 4, 3, 2, 1];

const balancingIndex = (arr = []) => {

   const findSum = arr => arr.reduce((acc, x) => acc + x, 0);

   for(let i = 0; i < arr.length; i++){

      const leftSum = findSum(arr.slice(0, i));

      const rightSum = findSum(arr.slice(i + 1));

      if(leftSum === rightSum){

         return i;

      };

   };

   return -1;

};

console.log(balancingIndex(arr));

输出结果
3

以上是 用于平衡 JavaScript 中总和的数组索引 的全部内容, 来源链接: utcz.com/z/343808.html

回到顶部