JS Почему эти логические значения возвращают неправильные значения? - PullRequest
0 голосов
/ 21 марта 2020

По какой-то причине логическое значение meaningfulIndexes.indexOf(index) != -1 возвращает ложь 100% времени, и я подозреваю, что arrayFindNext также. Почему это может быть? finalProcessing - это массив с фиксированным размером 64, а bars имеет длину 128.

meaningfulIndexes = [];
for (let i = 0; i < 64; i++) {
    meaningfulIndexes.push((bars.length / 64) + i * (bars.length / 64))
}

bars.forEach((currentValue, index, array) => {

    if (index == 0) {

            array[index].desiredHeight = finalProcessing[0] * canvas.height / 3 + 1;
    }

    if (meaningfulIndexes.indexOf(index) != -1) {

            array[index].desiredHeight = finalProcessing[meaningfulIndexes.indexOf(index)] * canvas.height / 3 + 1;

    }
    else {

            array[index].desiredHeight = (((array[index - 1].desiredHeight - 1) * 3 / canvas.height + finalProcessing[meaningfulIndexes.findIndex(arrayFindNext(index))]) / 2) * canvas.height / 3 + 1;
    }
})

function arrayFindNext(value) {
    return value > i;
}
...