2017-09-23 7 views
1

の「復帰」を使用しては、私は現在animalsアレイ内の各文字列のすべての最初の文字を返すようにしようと速記矢印機能構文を使用してsecretMessageと呼ばれる新しい配列に格納しています。しかし、私は次のエラーに遭遇します。JS:矢印関数の構文

エラー

/home/ccuser/workspace/learn-javascript-iterators-E3/main.js:5 
secretMessage.map(animal => return animal[0]); 
          ^^^^^^ 
SyntaxError: Unexpected token return 

jsが

let animals = ['Hen', 'elephant', 'llama', 'leopard', 'ostrich', 'Whale', 'octopus', 'rabbit', 'lion', 'dog']; 

secretMessage.map(animal => return animal[0]); 

console.log(secretMessage.join('')); 

これはなぜ起こるのでしょうか?どのようにこのエラーを解決できますか?

+0

あなたが見るエラーは、 '((item)=> function())'のような暗黙的な戻りを行うことができるためです。しかし、複数の操作を行う場合やreturnのようなキーワードを含める場合は、{}で囲む必要があります: '((item)=> {return function()})' – agm1984

+0

1つの式しか持たないif文と同じです。もしあなたが複数の操作をしたり、予期しないトークンを含んでいたりするならば、{}、 'if(!notThere){const bad = 'bad'}' 。だからあなたの問題は本当にあなたが '{} 'を除外できるかどうかを考慮に入れたものに過ぎません。 (私のif文はスコープのためにちょっとしたことですが、ポイントを取得する必要があります。 '{} 'なしでconstを使用するとエラーになります) – agm1984

答えて

3

arrow functionの式が返される値です。

簡潔なボディでは、式だけが必要であり、暗黙のリターンが付けられます。ブロック本体では、明示的なreturnステートメントを使用する必要があります。

単語returnを削除できます。

var secretMessage = animals.map(animal => animal[0]); 
0

単語returnを削除します。

secretMessage.map(animal => animal[0]);

脂肪矢印機能は自動的に式を返します。

secretMessage.map(animal => animal[0]); 

またはincludeブロック

secretMessage.map(animal => { return animal[0] }); 

もう一つの問題とを

secretMessage.map(animal => { 
    return animal[0]; 
    }); 
0

矢印関数からreturnを削除します。機能は、ブロック内にラップされている場合

は、あなただけのリターンを必要としますQuestionのコードは、.map()の結果が変数を設定しないでください。.map()呼び出しはsecretMessageを反復しますが、結果は新しい配列には定義されません。 .map()の結果は、可変識別子で定義する必要があります。また、あなたは括弧なしで1行の矢印の機能を持っているときは、リターンを必要としない

let animals = ['Hen', 'elephant', 'llama', 'leopard', 'ostrich', 'Whale', 'octopus', 'rabbit', 'lion', 'dog']; 
 

 
let secretMessage = animals.map(({0:s}) => s); 
 

 
console.log(secretMessage.join(""));

0

を構造化代入オブジェクトを使用して、コードを短縮することができます。

0

Uはこの

secretMessage =数字のように行うことができます。

+0

コードのみの回答は、問題の問題。これが何をし、どのように問題を解決するかを説明するためにあなたの答えを更新することを検討してください - これはOPだけでなく、同様の問題を持つ他の人に役立ちます。 [よくある回答を書くにはどうすればいいですか](https://stackoverflow.com/help/how-to-answer) – FluffyKitten

関連する問題