ポイント
- 「配列の要素プラス文字列」を連結するには、ループ外で宣言した変数に、ループ内で値を追加していけばよい。
- for を使えば簡単に実現できる。
- forEach を使う方法は不明。
実際のコード
// 「配列の要素プラス文字列」を連結したい。 // OK var array = [1, 3, 5]; var v = ''; for (i = 0, max = array.length; i < max; i++) { v += array[i] + '連結'; } console.log(v); // 1連結3連結5連結 // forEach でループ内の値を外に取り出す方法がわからない。 // NG var v = ''; [1, 3, 5].forEach(function(element, index, array) { this = element; // this += element; でももちろんダメ }, v); console.log(v); // Uncaught ReferenceError: Invalid left-hand side in assignment // at Object.InjectedScript._evaluateOn (<anonymous>:904:140) // at Object.InjectedScript._evaluateAndWrap (<anonymous>:837:34) // at Object.InjectedScript.evaluate (<anonymous>:693:21) // InjectedScript._evaluateOn @ VM252:904 // InjectedScript._evaluateAndWrap @ VM252:837 // InjectedScript.evaluate @ VM252:693 // forEach でループした要素の値を取り出す使い方として、次はOK。 var v = []; [1, 3, 5].forEach(function(element, index, array) { this[index] = element; }, v); console.log(v); // [1, 3, 5]
おわりに
forEach のドキュメントはこちらでございます。
渡した関数を実行するのですから、関数の返却値を上手に処理すればよいのかしらね。。。もう少し試せそうかしら。
以上です。