【问题标题】:Return value in Javascript function (Sum of number divided by 3)Javascript函数中的返回值(数字总和除以3)
【发布时间】:2019-12-30 12:56:01
【问题描述】:

我的任务是调用这个函数并返回数组中所有可以除以3的数字的总和值。问题是我不知道如何在JS中制作函数的返回值。你能帮忙吗? 谢谢你

function sumNumbersBy3(...numberArray) {
        for(let i = 0; i < numberArray.length; i++)
        {
            if (numberArray[i]%3 == 0)
                return
        }
    }
    console.log("sumNumbersBy3", sumNumbersBy3(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) === 18);

【问题讨论】:

  • 我建议你先从 javascript 基础开始
  • 不清楚您到底想知道什么。从函数返回值就像将该值放在return 关键字后面一样简单。例如:function test() { return 42; } 将在调用时返回 42
  • 我现在可以看到问题出在哪里......我只是对“{}”括号感到困惑。我定义了“sum”变量,然后输入“sum += numberArray[i];”在“if”条件内,但随后我将返回总和也放在括号内的“if”条件内......这让我很困惑......总是这些{括号}。谢谢你的帮助...

标签: javascript arrays return-value


【解决方案1】:

你应该有一个变量来对满足条件numberArray[i] % 3 == 0的数字求和:

function sumNumbersBy3(numberArray) {
  let sum = 0
  for(let i = 0; i < numberArray.length; i++)
  {
      if (numberArray[i] % 3 == 0)
          sum += numberArray[i];
  }
  return sum;
}

另外,可以使用reduce方法:

const result = arr.reduce((a, c, i) => {
  (c % 3 == 0) ? a += c : 0;
  return a;
}, 0);

一个例子:

function sumNumbersBy3(numberArray) {
  let sum = 0
  for(let i = 0; i < numberArray.length; i++)
  {
      if (numberArray[i] % 3 == 0)
          sum += numberArray[i];
  }
  return sum;
}

console.log("sumNumbersBy3: ", sumNumbersBy3([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = arr.reduce((a, c, i) => {
    (c % 3 == 0) ? a += c : 0;
    return a;
}, 0);
console .log(`Using reduce method: ${result}`);
 

【讨论】:

    【解决方案2】:
    function sumNumbersBy3(...numberArray) {
        let sum = 0;
        for (let i = 0; i < numberArray.length; i++) {
            if (numberArray[i] % 3 == 0)
                sum += numberArray[i];
        }
        return sum;
    }
    console.log("sumNumbersBy3", sumNumbersBy3(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-20
      • 2013-08-01
      • 2021-10-27
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 2016-04-25
      相关资源
      最近更新 更多