Javascript JS函数计算数组中的奇数和负数
我目前正在尝试编写一个JS函数,它使用多个参数来计算“数组”中的奇数和负数。我将数组放在引号中,因为函数实际上接受参数 我想使用for循环来获得赔率和负数,但我的代码不起作用Javascript JS函数计算数组中的奇数和负数,javascript,arrays,for-loop,arguments,Javascript,Arrays,For Loop,Arguments,我目前正在尝试编写一个JS函数,它使用多个参数来计算“数组”中的奇数和负数。我将数组放在引号中,因为函数实际上接受参数 我想使用for循环来获得赔率和负数,但我的代码不起作用 function arrayAnalyzer() { var myArray = Array.prototype.slice.call(arguments) var counter = { odds : 0, negatives : 0, avg : 0, median : 0 } for(var
function arrayAnalyzer() {
var myArray = Array.prototype.slice.call(arguments)
var counter = {
odds : 0,
negatives : 0,
avg : 0,
median : 0
}
for(var i = 0; i < myArray.length; i++) {
if(myArray{i] % 2 === 1) {
counter.odds++ }
if(myArray[i] < 0) {
counter.negatives++ }
}
return counter
}
arrayAnalyzer(7, -3, 0, 12, 44, -5, 3);
函数数组分析器(){
var myArray=Array.prototype.slice.call(参数)
变量计数器={
赔率:0,
负片:0,,
平均值:0,
中位数:0
}
对于(var i=0;i
我在网上发现这段代码是有效的,但如果可能的话,我想使用for循环
myArray.forEach(function(num){
if (Math.abs(num) % 2 === 1) counter.odds++
if (num < 0) counter.negatives++
})
myArray.forEach(函数(num){
如果(数学绝对值(num)%2==1)计数器赔率++
如果(num<0)计数器为负++
})
在您的第一条if语句中似乎有一个轻微的语法修正:
function arrayAnalyzer() {
var myArray = Array.prototype.slice.call(arguments)
var counter = {
odds : 0,
negatives : 0,
avg : 0,
median : 0
}
for(var i = 0; i < myArray.length; i++) {
if(myArray[i] % 2 === 1) {
counter.odds++ }
if(myArray[i] < 0) {
counter.negatives++ }
}
return counter
}
函数数组分析器(){
var myArray=Array.prototype.slice.call(参数)
变量计数器={
赔率:0,
负片:0,,
平均值:0,
中位数:0
}
对于(var i=0;i
工作JSBIN:似乎在您的第一个if语句中使用了一个轻微的语法修复:
function arrayAnalyzer() {
var myArray = Array.prototype.slice.call(arguments)
var counter = {
odds : 0,
negatives : 0,
avg : 0,
median : 0
}
for(var i = 0; i < myArray.length; i++) {
if(myArray[i] % 2 === 1) {
counter.odds++ }
if(myArray[i] < 0) {
counter.negatives++ }
}
return counter
}
函数数组分析器(){
var myArray=Array.prototype.slice.call(参数)
变量计数器={
赔率:0,
负片:0,,
平均值:0,
中位数:0
}
对于(var i=0;i
工作JSBIN:在
myArray{i]
中有一个输入错误。另外,你确定myArray
正在被填充吗?再加上一点,forEach
循环也会产生负数奇数,而你的for
循环不会。修复myArray之后,代码似乎可以工作{i]
输入错误,除非我遗漏了什么。一个可能的问题是:负数奇数不被计算在内。哦,天哪,这是一个非常简单的错误。谢谢你抓住了。我在chrome控制台上调试,但出于某种原因,我没有看到语法错误。谢谢大家@BeardFist你是对的,所以在这种情况下forEach会更好r方法。感谢您的建议,myArray{i]
中有一个输入错误。另外,您确定正在填充myArray
吗?再加上一点,forEach
循环也会计算负数奇数,而for
循环则不会。修复myArray之后,代码似乎可以正常工作{i]
输入错误,除非我遗漏了什么。一个可能的问题是:负数奇数不被计算在内。哦,天哪,这是一个非常简单的错误。谢谢你抓住了。我在chrome控制台上调试,但出于某种原因,我没有看到语法错误。谢谢大家@BeardFist你是对的,所以在这种情况下forEach会更好谢谢你的建议