我在使用double for循环从存储在数组中的字典中打印数据时遇到困难

var residents = [{name: "Pyrus", room: "32"},{name: "Ash Ketchum", room: "22"}];

function people() {
    for (let i = 0; i < residents.length; i++) {
        for (let j in residents[i]) {
            document.write(j + ": " + residents[j] + "<br>");
        }
    }
};

people();


我正在检索的是:

name: undefined
room: undefined
name: undefined
room: undefined


我可以打印密钥,但似乎无法获取为密钥定义的值!
我究竟做错了什么?

成功的标准是使用HTML打印。

最佳答案

您已将两个循环链接在一起,因此您的函数需要访问父索引,然后访问要引用的属性。

function people() {
    for (let i = 0; i < residents.length; i++) {
        for (let j in residents[i]) {
            document.write(j + ": " + residents[i][j] + "<br>");
        }
    }
};

10-02 20:17