我正在尝试编写一个javascript来计算数组中的负数,零数和正数。当我运行这个脚本时,它说“ReferenceError:document not defined”
我不知道如何定义文档,因为我理解document.write是node.js的一部分?让它输出neg,zero和pos变量的最佳方法是什么?
#!/usr/bin/env node
// Function: counter
// Parameter: -3, -1, 0, 0, 0, 4, 17, 29, 30
// Returns the number of each in the array
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input, zero, neg, pos)
{
switch (input)
{
case (input < 0):
neg++;
break;
case (input == 0):
zero++;
break;
case (input > 0):
pos++;
break;
}
return document.write(neg, zero, pos);
}
counter(input);
答案 0 :(得分:0)
所以我使用console.log工作,但现在输出错了。我的开关似乎没有正确评估数组。无论输入值是什么
,它都会打印三个零#!/usr/bin/env node
// Function: counter
// Parameter: -3, -1, 0, 0, 0, 4, 17, 29, 30
// Returns the number of each in the array
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input, zero, neg, pos)
{
switch (input)
{
case (input < 0):
neg ++;
break;
case (input == 0):
zero ++;
break;
case (input > 0):
pos ++;
break;
}
}
counter(input);
console.log(neg, zero, pos);
答案 1 :(得分:0)
你需要循环数组中包含的所有元素,如果你只用一个参数调用该函数,我建议避免定义其他三个。
代码是:
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input) {
input.forEach(function(ele) {
switch (true) {
case (ele < 0):
neg++;
break;
case (ele == 0):
zero++;
break;
case (ele > 0):
pos++;
break;
}
});
}
counter(input);
console.log(neg, zero, pos);
答案 2 :(得分:0)