在递归函数中使用计数器

jos*_*405 -1 javascript recursion

我有一个关于在递归函数中增加值的功能的问题.

我用的时候:

counter++ 不起作用

但是,当我使用counter + 1它工作正常.

我还找到了另一种工作方式:++counter但我真的无法理解++在柜台前使用它有什么不同.

例:

printEachName = (companyNames, newPeople, counter, callback) => {
  if (companyNames.length === newPeople.length) {
    return callback(false, companyNames);
  }
  console.log('counter >>> ', counter);
  let newP = newPeople[counter];

  companyNames.push(newP.name);
  printEachName(companyNames, newPeople, counter + 1, callback);
}

printEachName([], newPeople, 0, (errorPrinting, response) => {
  if (errorPrinting) {
    //res.send()
    return;
  }

  console.log('response is >>> ', response);
});
Run Code Online (Sandbox Code Playgroud)

ste*_*nja 5

试试++counter.使用前缀增量运算符将首先递增变量,然后将其传递给函数.请注意,这是不同于counter + 1它并不会改变它的值.