При вызовах функции calcLoveTriangle(elems[1]) , в консоль выводит переменную lovet равную 1
calcLoveTriangle(elems[1]) , если вызвать calcLoveTriangle(elems[0]) то тоже выводит 1, значит в коде функции lovet++ увеличивается, но почему если мы вызываем эти функции 2 раза, lovet не увеличивается второй раз? Эта переменная же вынесена отдельно, и при увеличении где-либо в коде должна меняться, каждый раз увеличиваясь.
Т.е. по идее, если она меняется с 0 на 1 при вызове calcLoveTriangle(elems[0]), то при вызове calcLoveTriangle(elems[1]) должна меняться уже с 1 на 2, почему так не работает, и каждый раз выводит 1?
function getLoveTrianglesCount(preferences = []) {
let lovet = 0;
let elems = {};
elems[0] = preferences;
let count = 0;
let counter = 1;
let k = 0;
function compareNumeric(a, b) {
if (a > b) return 1;
if (a < b) return -1;
}
preferences.sort(compareNumeric);
function del(preferences){
for(let i = 0; i < preferences.length; i++){
if(preferences[i] == preferences[i-1]){
if( elems[counter]){
elems[counter].push(preferences[i]);
elems[0].splice(elems[0][i], 1);
} else {
elems[counter] = [];
elems[counter].push(preferences[i]);
elems[0].splice(elems[0][i], 1);
}
}
}
if(elems[counter]){
counter++
return del(elems[counter-1]);;
}
}
del(preferences);
for(val in elems){
document.write('<br>' + elems[val]);
}
function calcLoveTriangle(arr){
for(let i = 0; i < arr.length; i++){
if(count != 0){
k = i-1;
}
if(arr[i] == arr[k]+1){
count++;
}
if(count == 2){
lovet++
count = 0;
k = i+1;
}
}
console.log(lovet);
}
calcLoveTriangle(elems[0])
calcLoveTriangle(elems[1])
console.log(lovet);
};
getLoveTrianglesCount([1,1,2,2,3,3]);