如何利用对象的键值对生成指定结构的对象数组?
解决方案
可以通过 Object.entries() 结合 Array.map() 快速实现转换:
const myObject = {rice : 10, wheat: 20, sugar: 3}; const myArray = Object.entries(myObject).map(([product, QTY]) => ({ product, QTY })); console.log(myArray); // 输出结果: // [ // { product: 'rice', QTY: 10 }, // { product: 'wheat', QTY: 20 }, // { product: 'sugar', QTY: 3 } // ]
步骤说明:
Object.entries(myObject):将原对象转换为键值对组成的二维数组,结果为[['rice', 10], ['wheat', 20], ['sugar', 3]]map(([product, QTY]) => ({...})):遍历每个键值对,通过解构赋值直接获取键(product)和值(QTY),再返回包含对应属性的新对象。这里使用了对象字面量简写语法,product等价于product: product。
注:你示例中的 {"product" : rice} 里的 rice 如果是字符串而非变量,上述代码已经满足需求,因为 Object.entries 返回的键本身就是字符串类型。
内容的提问来源于stack exchange,提问作者Sky Lurk
相关产品推荐
相关产品推荐

