用于平衡 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