IIFE在目标中的目的是100%答案

时间:2016-03-19 19:50:16

标签: javascript algorithm callback logic iife

"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;
  };

在此处:https://codility.com/demo/take-sample-test/

0 个答案:

没有答案
相关问题