JavaScript如何将sequelize返回的对象数组转换为目标键值对象
解决方法
核心逻辑是遍历键值对数组,将每个元素的key字段转为小写后作为新对象的属性名,value字段作为对应属性值即可,推荐使用reduce方法实现,代码简洁高效:
// 假设这是Sequelize查询返回的原始结果 const originalData = [ { key: 'PREFIX', value: 'm.' }, { key: 'OWNER_ID', value: '14901414891498' }, { key: 'GUILD_ID', value: '525219058950109' } ]; // 转换为目标结构 const targetData = originalData.reduce((result, currentItem) => { // 将key转为全小写,作为新对象的键 const lowerCaseKey = currentItem.key.toLowerCase(); result[lowerCaseKey] = currentItem.value; return result; }, {}); console.log(targetData); // 输出:{ prefix: 'm.', owner_id: '14901414891498', guild_id: '525219058950109' }
你可以直接在Sequelize查询的异步返回结果位置插入上述转换逻辑即可,不需要额外引入第三方依赖。
内容的提问来源于stack exchange,提问作者Reis
相关产品推荐
相关产品推荐

