转换recursionjQuery用于VBA脚本控制的JavaScript的每个循环
我试图使用下面的脚本遍历嵌套的JSON对象。 它在html中工作正常,但是,我从Excel VBA ScriptControl对象调用它。 当我这样做,它会返回一个“未定义”错误的“$”
我假设这是因为VBA ScriptControl不允许使用jQuery(是这样吗?)
所以…可以帮助将下面的“$ .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; }
你可以创build你自己的each
function
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; }