Вы имели в виду reverseStuff(args[y])
в своем коде вместо return functionReverse(args)
? Потому что первый вызовет обратную функцию для каждой строки. Второй, вероятно, будет ошибкой, поскольку в вашем коде нет функции с именем functionReverse. Даже если он существует, вы вызываете эту функцию со всем массивом строк каждый раз для длины аргументов массива. Отсутствующий args[y]
является основной проблемой. Здесь вы получаете доступ к значению по y-му индексу аргументов массива, что вы и хотели сделать. Кроме того, как указал @ASDFGerte, <=
должно быть <
, поскольку первое из них вернет undefined
.
. Также обратите внимание, что с указанным выше изменением функция будет выполнять итерацию по массиву, но так как ничего не возвращает, строка console.log(eachword(args))
выведет неопределенное. В этом случае вы можете сделать следующее:
// inside the for loop in eachWord
console.log(reverseStuff(args[y]);
Или лучшим решением будет следующее:
const args = process.argv.slice(2);
let allArr = [];
let eachWord = function (args, cb) {
for (let y = 0; y < args.length; y++) {
cb(reverseStuff(args[y]));
}
};
let cb = function(reveredString) {
// do what you want here
// for example
allArr.push(reveredString);
// or just simply print
console.log(reversedString);
};
eachWord(args, cb);
Надеюсь, это поможет!