2016-05-29 5 views
-3
​​

私の現在のコードは以下ですが、現在のバッファーにはSyntaxErrorがあります:予期しないトークンがあります。あなたはcurrentValueにスペルの間違いを持っ​​ていたし、あなたがifが、三項演算子を使用してはならないこと矢印関数を使用して、偶数要素のすべてが1増加し、奇数要素が1減少した配列を返す方法

var my_function = some_array => some_array.map(
    (currentValue, index) => currentValue + (currentValue % 2 ? -1 : 1) 
); 

注:これを使用することができます

// write the correct arrow function here 
var my_function = some_array => some_array.map((currentValue, index) => if(index % 2 === 0) currentValue + 1; else currentValue - 1;); 
+1

矢印関数の簡体字は、式を返す必要があります。 'if'は式ではなく文なので、' {'と' return'を使う必要があります。または、三項演算子を使用することもできます。 –

+0

[MDNドキュメント](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)には、構文と例が示されています。問題が発生したら、まずドキュメントをお読みください。 –

答えて

3

また、条件とその後続の部分式を入れ替えて、0(== 0)の比較を保存することもできます。最後に、currentValueを条件付き部分から移動しました。なぜなら、両方の場合に使用する必要があるからです。

+0

ありがとうございます!実際にはインデックスではなく、偶数と奇数のcurrentValueを求めています。あなたのコードを次のように修正しました:var my_function = some_array => some_array.map(currentValue => currentValue +(currentValue%2?-1:1)); – dsjkncdjksncdskjcn

+0

ああ、そうだ。私は私の答えで同じ訂正をしました。 – trincot

関連する問題