"use strict";
function solution(dataArray) {
var total = function (array) {
var arrayLength = array.length;
var sum = 0;
while (--arrayLength > -1) {
sum += array[arrayLength];
}
return sum;
}(dataArray);
var eq = -1;
var arrayLength = dataArray.length;
var Lsum = 0;
var Rsum = 0;
dataArray.forEach(function (number, index) {
Rsum = total - Lsum - number;
if (Rsum === Lsum) {
/* in fact no need to continue, should terminate here. */
eq = index;
}
Lsum += number;
});
return eq;
}
console.log(solution( [-1, 3, -4, 5, 1, -6, 2, 1]));
我不明白让}(dataArray)
作为生命的目的,是不是只是一个我可以直接引用dataArray
的数组?我认为在任何地方都没有对这个功能产生特殊影响,但没有它,Codility实际上就失败了。为什么呢?
我尝试了什么:
var total = function (dataArray) {
var arrayLength = dataArray.length;
var sum = 0;
while (--arrayLength > -1) {
sum += dataArray[arrayLength];
}
return sum;
};