JS处理Tableau扩展API返回数据生成指定格式多维数组方法咨询
解决方案
这个转换需求完全可实现,以下是两种可行实现方式:
方式1:基于现有for循环逻辑修改
原有代码已经可以正确遍历到目标字段,只需补充数组收集逻辑即可:
// 初始化结果数组 const result = []; // 仅处理前4个元素,如需处理全部20个请将循环条件改为i < filters.length for(let i = 0; i < 4; i++){ const currentRow = []; for(let a = 0; a < filters[i].$9.length; a++){ currentRow.push(filters[i].$9[a].formattedValue); } result.push(currentRow); } // 输出验证 console.log(result);
方式2:使用数组map方法简化代码
如果追求更简洁的写法,可以直接用数组映射方法实现:
// slice(0,4)对应仅处理前4个元素的逻辑,处理全部元素时删除该方法即可 const result = filters.slice(0,4).map(filterItem => filterItem.$9.map(subItem => subItem.formattedValue) );
两种方式输出的结果都和要求的目标数组结构完全匹配。
内容的提问来源于stack exchange,提问作者Farid Arshad
相关产品推荐
相关产品推荐

