You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js开发中如何将数组转换为指定格式的普通对象

问题原因

  • Object.fromEntries() 要求入参是由[键, 值]二元数组组成的数组,例如 [ ["result", "测试结果"] ],才能正确转换为对象。
  • 你当前拿到的results是由普通对象组成的数组,结构为[ { result: xxx } ],不符合Object.fromEntries()的入参要求,所以会返回{ undefined: undefined }。

解决方法

你要的目标对象就是数组的第一个元素,直接按索引取值即可,还可以额外加空数组判断避免报错:

module.exports = {
    name: "wki",
    aliases: [],
    run: async (client, message, args, color) => {
        const query = args.join(" ")

        wikia.search(query).then(results => {
            console.log(results)
            // 直接取数组第一个元素,加非空判断更稳妥
            const obj = results?.length ? results[0] : {};
            console.log(obj);
        });
    }
}

如果你的实际场景中数组可能存在多个对象,需要合并所有对象的键值对,可以用Object.assign处理:

const obj = Object.assign({}, ...results);

内容的提问来源于stack exchange,提问作者one ppment

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:30:01