node.js Как вывести в лог результат функции
-
Нашел функцию вычитания списков. Отрабатывает нормально (в смысле без ошибок:)), но не могу вывести в консоль переменную С
Пишет "ReferenceError: С is not defined"**var A = [[FINDED_AKK_LIST]], B = [[BLACKLIST]];
function DiffArrays(A,B)
{
var M = A.length, N = B.length, c = 0, C = [];
for (var i = 0; i < M; i++)
{ var j = 0, k = 0;
while (B[j] !== A[ i ] && j < N) j++;
while (C[k] !== A[ i ] && k < c) k++;
if (j == N && k == c) C[c++] = A[ i ];
}return C;
}
console.log(С);**
Вроде все, как в видео. С переменной С многое что делается без ошибок. Но только я пытаюсь вывести ее значение в консоль, как она сразу становится UNDEFINED. Почему???
-
@Viktor said in node.js Как ввести в лог результат функции:
Вроде все, как в видео. С переменной С многое что делается без ошибок. Но только я пытаюсь вывести ее значение в консоль, как она сразу становится UNDEFINED. Почему???
Переменная C это локальная переменная, и она видна только внутри тела функции. Вывести результат работы функции можешь так
console.log(DiffArrays(A,B))
-
@santilo said in node.js Как вывести в лог результат функции:
console.log(DiffArrays(A,B))
Кажется понял. Выходит, что функция как бы и не выполняется, ее надо отдельно вызвать по отношению к чему-то. Удобно. Спасибо.
-
@Viktor потому что Вы только объявили функцию. Вот так должно работать:
function DiffArrays(A,B) { var M = A.length, N = B.length, c = 0, C = []; for (var i = 0; i < M; i++) { var j = 0, k = 0; while (B[j] !== A[ i ] && j < N) j++; while (C[k] !== A[ i ] && k < c) k++; if (j == N && k == c) C[c++] = A[ i ]; } return C; } [[NEW_LIST]] = DiffArrays([[FINDED_AKK_LIST]],[[BLACKLIST]]) console.log([[NEW_LIST]])