WST87448735
@WST87448735

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

JavaScript

解決したいこと

JSで同じ引数で異なる結果を2通り表示させたい。

自分で試したこと

        const English= (a,b,c)=>{

               let result = a+b+c && a-b-c;


               return result;


           }




               console.log(English(1,2,3));
0

2Answer

JSで「関数から複数の値を返したい」ということであれば、
オブジェクトないし配列として1つの値にまとめたらいいです。

例は単純化しました。

オブジェクトなら、

// 定義
const f = (x, y) => {
    return {sum: x + y, sub: x - y};
};
// 一行で書くと
// const f = (x, y) => ({sum: x + y, sub: x - y});

// 呼び出し
const result = f(1, 2);
console.log(result.sum, result.sub)

// 分割代入
const {sum, sub} = f(1, 2);
console.log(sum, sub);

配列なら、

// 定義
const f = (x, y) => {
    return [x + y, x - y];
};
// 一行で書くと
// const f = (x, y) => [x + y, x - y];

// 呼び出し
const result = f(1, 2);
console.log(result[0], result[1])

// 分割代入
const [sum, sub] = f(1, 2);
console.log(sum, sub);
1Like

配列として返してあげれば,2つの戻り値を返してあげることができます.

コード
const English = (a, b, c) => {
    return [a + b + c, a * b * c];
};
console.log(English(2, 3, 5));
出力
[ 10, 30 ]

また,分割代入という手法を用いて,2つの戻り値を別々の変数に受け取ることもできます.

コード
const English = (a, b, c) => {
    return [a + b + c, a * b * c];
};
let [ret1, ret2] = English(2, 3, 5);
console.log(ret1);
console.log(ret2);
出力
10
30
1Like

Your answer might help someone💌