Я понимаю, что эта ошибка уже обсуждалась ранее, но решения других вопросов здесь не применимы.
У меня есть массив целых чисел с именем indArray и функция addCommas, где массив циклически перебирается и запятые добавляются к тысячам, т. Е. 9000 вместо 9000.
Теперь, это прекрасно работает, однако я пытаюсь вызвать addCommas для другой переменной, и это дает мне эту ошибку.
Вот мой код:
var string = personData[personID - 1];
var indArray = string.split("|");
var targetTotal = int(indArray[0]) + int(indArray[2]) + int(indArray[4]) + int(indArray[6]);
var currentTotal = int(indArray[1]) + int(indArray[3]) + int(indArray[5]) + int(indArray[7]);
for (var j=0; j<indArray.length; j++)
{
indArray[j] = addCommas(indArray[j]);
}
targetTotal = addCommas(targetTotal); //these two lines give the above error
currentTotal = addCommas(currentTotal); //the pretty much identical line in the for loop does not
и функция addCommas:
function addCommas(num)
{
var x = 1;
var y = 0;
var z = 1;
var c = num.split("");
if (c.length < 4)
{
return c.join("");
}
else
{
c.reverse();
do
{
c.splice((x*3)+y,0,",");
x++;
y++;
z++;
} while (z<(num.length/3));
c.reverse();
return c.join("");
}
}