当我执行“node test.js”或其他操作时,我的test.js文件没有输出任何内容

sh7euo9m  于 2023-06-29  发布在  Node.js
关注(0)|答案(3)|浏览(242)

我想用node测试一个简单的程序:

let myArray = [1, 2, 3, 4, 5];
function doubleInput(arrayItem) {
  return arrayItem * 2;
}

但由于某种原因,当我在终端中执行node.js时,没有任何输出。我错过了什么吗?我安装了node(v20.3.0)。
我的输出应该是:2, 4, 6, 8, 10
但遗憾的是什么都没出现
我只是有一个test.js文件,它有一个数组,其中包含值,然后是一个乘以2并返回结果的函数。我试着添加一个.npmignore文件,一个包锁和package.json添加我仍然有相同的结果。我也在候机楼

node test.js
6yoyoihd

6yoyoihd1#

可以使用map方法和join

let myArray = [1, 2, 3, 4, 5];

function doubleInput(array) {
    return array.map(x => 2 * x);
};

let res = doubleInput(myArray);

console.log(res.join(', '));
wtlkbnrh

wtlkbnrh2#

你实际上没有调用你的函数doubleInput,这就是为什么你没有得到任何输出,即使你 * 调用 * 它,你会得到NaN,因为return arrayItem * 2;就像[1, 2, 3, 4, 5] * 2,它总是给出NaN;
正确的方法是循环遍历每个值,将其加倍并存储在数组中,最后返回该变量。

let myArray = [1, 2, 3, 4, 5];
function doubleInput(arrayItems) {
  let returnedArrayOfItems = [];
  for(let i=0; i<=arrayItems.length-1; i++){
    let arrayItem = arrayItems[i];
    returnedArrayOfItems.push(arrayItem*2);
  }
  return returnedArrayOfItems;
}
console.log(doubleInput(myArray))
wlp8pajw

wlp8pajw3#

你的代码什么也不输出,因为你没有调用你的函数,也没有打印任何东西。
我还建议在您的情况下使用map。你可以这样使用它:

let myArray = [1, 2, 3, 4, 5];

result = myArray.map(x => x * 2)

console.log(result);

产出
[二、四、六、八、十]

相关问题