如何访问对象映射/集合中的嵌套数据

时间:2017-09-28 06:46:50

标签: javascript node.js

假设我在调用函数时有一个自动在我的应用程序中返回的集合,结果是这样的:

Collection {
    '1234567890' => Message {
        channel: TextChannel {
            type: 'text',
            id: '362557066864230402'
        },
        type: "DEFAULT",
        content: "test"
    }
}

我不确定'1234567890'=>消息部分。我知道它是ES6,但我不知道如何调用其中的任何嵌套数据,例如 content:“test”

为此(假设集合使用变量集合,我尝试过:

let data = collection["123567890"].content;

let data2 = collection[0].content; //I know that's for arrays, but I thought it would be similar

输出'null'或未定义,错误

TypeError: Cannot read property 'content' of undefined

所以我明白我无法获得初始的集合对象。

最后一件事:每次调用函数时都会随机生成 1234567890 这个数字,因此我无法轻易对其进行硬编码。

Pastebin to the actual collection example. 出于某种原因,它会在该行之后停止打印(可能是太多字符?)

编辑:我的代码:

msg.channel.awaitMessages(msg => msg.author==user, { time: 10000, max: 1, errors: ['time'] })
.then((collected) => {
    let channel = collected[0];
    console.log(collected);
    console.log(JSON.stringify(collected));
    if(channel=="cancel") {
        msg.channel.send("cancel");
        return;
    }
})
.catch(() => {
    // ect ect
});

很抱歉没有太多的澄清,这真的让我很难过。

0 个答案:

没有答案