###前提・実現したいこと
JavaScriptでマップに対して順次アクセスするコードに対して、JSLintをパスするようなコードを書こうとしています。
for文で順次アクセスするコードに対して、以下のような警告がでます。
Unexpected 'for'.
for (key in userMap) {
マップに対して順次アクセスする際に、JSLintに警告されないコーディング方法を教えていただけないでしょうか。
###該当のソースコード
javascript
1var hoge = (function () { 2 "use strict"; 3 4 var userMap = {name: 'yamada', age: '20'}; 5 var key; 6 7 for (key in userMap) { 8 if (userMap.hasOwnProperty(key)) { 9 console.log(key + ":" + userMap[key]); 10 } 11 } 12}());
###試したこと
※ ItoTomonoriさんに回答いただき、試してみたことを追記します。
node v4.4.3でマップに対して、単純に forEach() を使うコードを試してみたところ、
userMap.forEach (p); {
^
TypeError: userMap.forEach is not a function
といったエラーが出ます。
調べてみたところ、forEach() は配列に対してのみ利用できようです。
forEach()を使う解決策の場合は、下記どのようにすれば動くコードになるのかを教えていただければ助かります。
javascript
1var hoge = (function () { 2 "use strict"; 3 4 var userMap = {name: 'yamada', age: '20'}; 5 var key; 6 7 var p = function (value, key, map) { 8 console.log(key + ":" + value); 9 }; 10 11 userMap.forEach (p); 12}());
###補足情報(言語/FW/ツール等のバージョンなど)
ブラウザやJavaScriptのバージョンは新しいものでOKです。
jQueryのeach()を使わない、JavaScriptとしてのコーディング方法を知りたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/04 05:14