function hasTwoBorder(array) {
return array.filter(function(item) {
return item > 0;
}).length > 1;
}
function zeroAndNegativeNumber(array) {
var startIndex;
var endIndex;
var sum = 0;
for (var i = 0; i < array.length; i++) {
if (array[i] > 0) {
startIndex = i;
break;
}
}
for (var i = array.length - 1; i >= 0; i--) {
if (array[i] > 0) {
endIndex = i;
break;
}
}
for (var i = startIndex; i < endIndex; i++) {
if (array[i] <= 0) {
sum++;
}
}
return sum;
}
function reduceOne(array) {
return array.map(function(item) {
return item - 1;
});
}
function getAccount(array) {
var sum;
if (!hasTwoBorder(array)) {
return 0;
}
sum = zeroAndNegativeNumber(array) + getAccount(reduceOne(array));
return sum;
}
console.log(getAccount([2, 0,1,2]))
console