2016-09-21 5 views
1

次のスクリプトを使用して入れ子になったJSONオブジェクトを反復しようとしています。それはHTMLでうまく動作しますが、私はExcel VBA ScriptControlオブジェクトから呼び出しています。私が行うと、それは私がVBAのScriptControlは、jQueryのために許可していないからだと仮定している「$」再帰jQueryを変換するVBAスクリプトコントロールのJavaScriptへのループごと

ため、「未定義」エラーを返します(つまり本当ですか?)

そう...することができますいくつかは、下の "$ .each()"部分をjavascriptに変換するのに役立ちますか?

コード:

function jsonFunction() { 
    var jsonObj = { 
     Item1: 'This is a test', 
     Item2: { Value1: '100', Value2: '200' }, 
     Item3: { Value1: '101', Value2: '201' }, 
    }; 

    var result = ''; 

    $.each(jsonObj, jsonLoop); 

    function jsonLoop(key, value) { 
     if (typeof value === 'object') { 
      $.each(value, jsonLoop); 
     } else { 
      result += key + ' : ' + value + ', '; 
     } 
    } 
    return result; 
} 

答えて

1

あなただけどういたしましてあなた自身のeach機能

function each(obj, cb) { 
    for (var key in obj) { 
     cb(key, obj[key]); 
    } 
} 

function jsonFunction() { 
    var jsonObj = { 
     Item1: 'This is a test', 
     Item2: { Value1: '100', Value2: '200' }, 
     Item3: { Value1: '101', Value2: '201' }, 
    }; 

    var result = ''; 

    each(jsonObj, jsonLoop); 

    function jsonLoop(key, value) { 
     if (typeof value === 'object') { 
      each(value, jsonLoop); 
     } else { 
      result += key + ' : ' + value + ', '; 
     } 
    } 
    return result; 
} 
+0

を作成することができます! – adeneo

関連する問題