如何基于数组元素生成多个MemberValue对象实例并输出预期结构
解决方案:将数组元素转换为独立的MemberValue实例
你当前的代码是把整个数组直接赋值给levelName和uniqueName属性,因此只会生成一个MemberValue实例,且这两个属性的值是整个数组。要实现每个数组元素对应一个独立实例,需要遍历数组并为每个元素创建实例。
修正后的代码
// 避免使用name作为变量名,防止与全局window.name冲突 var names = ["1.K", "2.K"]; // 用map遍历数组,为每个元素创建独立的MemberValue实例 var filterValues = names.map(item => new data.MemberValue({ MemberName: "R.K", hierarchyName: "xyz", levelName: item, uniqueName: item, levelDepth: 1, memberKind: "Regular" }));
代码说明
map方法会遍历names数组的每个元素,对每个元素执行回调函数,返回新创建的MemberValue实例- 最终
filterValues是一个包含两个MemberValue实例的数组,每个实例的levelName和uniqueName对应数组中的单个元素,与你的预期输出完全匹配
排查之前map失败的可能原因
- 变量名冲突:全局
window.name是字符串类型,将数组赋值给它会被自动转为字符串,导致遍历出错,建议改用names这类变量名 - 回调函数未返回实例:确保箭头函数或普通函数明确返回
new data.MemberValue(...),遗漏返回值会导致map生成空值数组
内容的提问来源于stack exchange,提问作者Anvita Rastogi
相关产品推荐
相关产品推荐

