在DW中如何按特定规则将对象转换为对象数组?
对象属性拆分重组方案
需求:将包含固定属性myKey和若干其他属性的对象,转换为一个数组,数组中每个元素都是myKey与单个其他属性配对的新对象。
实现代码(JavaScript)
const originalObj = { myKey: 'abc', att1: 'val1', att2: 'val2', attN: 'valN' }; // 提取myKey的值和剩余所有属性 const { myKey, ...restProps } = originalObj; // 遍历剩余属性,生成目标数组 const result = Object.entries(restProps).map(([propName, propValue]) => ({ myKey, [propName]: propValue })); console.log(result);
代码说明
- 解构赋值:通过
{ myKey, ...restProps }分离出myKey的值和其他所有属性,restProps会包含除myKey外的全部键值对 - 遍历重组:用
Object.entries()把restProps转为键值对数组,再通过map()为每个键值对生成新对象,每个新对象都包含myKey和当前遍历到的单个属性 - 动态属性名:使用
[propName]语法确保新对象的属性名与原对象的属性名一致
输出结果
[ { myKey: 'abc', att1: 'val1' }, { myKey: 'abc', att2: 'val2' }, { myKey: 'abc', attN: 'valN' } ]
内容的提问来源于stack exchange,提问作者Vlad K
相关产品推荐
相关产品推荐

