【问题标题】:JavaScript function to multiply two sets of numbers & get two number answers [duplicate]JavaScript函数将两组数字相乘并得到两个数字答案[重复]
【发布时间】:2018-05-15 12:30:23
【问题描述】:

这是昨天的第二部分here's my original post

我没有得到帮助我解决难题的答案,但我确实得到了一些反馈。我需要 REALLY SIMPLE js 100 级简单代码,这将允许我返回两个数字 NOT AN OBJECT 。这就是我昨天做错的事情......我试图返回一个对象而不是一个数字。

答案不能是函数*,因为该答案是不可接受的。这是我今天更新的代码:(如您所见,我只得到一个答案-但我不能使用 function* 选项)

function multiplier() {
  var number = 25;
  return (number * 20, number * 1);
}
console.log(
  multiplier()
);

请帮我在这里找到最简单和最简单的代码。

【问题讨论】:

  • 一个,非迭代器,函数可以返回一个值、一个数组或一个对象。就是这样。如果您需要返回多个值,则必须返回一个数组或一个对象,并让调用者将它们分开(这可以通过解构来完成)。
  • 你可以返回一个由两个数字组成的数组。 return [number * 20, number * 1];
  • 正如人们在您的原始帖子中所说,如果不使用对象、数组等,您将无法从函数返回多个结果。根本不可能返回两个数字。
  • 由于您指定不能使用迭代器函数,因此这是不可能的。函数返回单个值。
  • 看看deconstructing assignments,你的函数可以只返回一个数组,但调用者可以将它们解构为几个变量或常量。

标签: javascript function multiplication


【解决方案1】:

您可以使用像rxjs 这样的可观察库。

let rxjs = require('rxjs');

function multiply(){
    return new rxjs.Observable(function(observer){
        observer.next(25 * 20);
        observer.next(25 * 1);
        observer.complete();
    });
}

let observable = multiply();

let subscription = observable.subscribe(function(val){
    console.log(val);
})

由于返回值数组似乎是一个合理的解决方案,因此尝试从桶中寻找您正在寻找的东西......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多