JS函数计算数组

时间:2016-03-18 23:53:57

标签: 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 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);

我在网上发现这段代码有效,但我想尽可能使用for循环。

myArray.forEach(function(num){
    if (Math.abs(num) % 2 === 1) counter.odds++
    if (num < 0) counter.negatives++
})

1 个答案:

答案 0 :(得分: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
}

工作JSBIN:https://jsbin.com/yokawu/edit?js,console