如何在vuejs中迭代数组键?

nr7wwzry  于 2023-01-14  发布在  Vue.js
关注(0)|答案(2)|浏览(155)

我的密码**:**

<div class="col-lg-9 col-md-9">
  <h3>Archives :</h3>
  <div class="row" v-for="list in archives" :key="list.length">
    <p>{{  }}</p>
  </div>
</div>

来自服务器的数据**:**

{
  archives: {
    2023: {
      1: ["3", "ABCD"]
    }
  }
}

预期产出**:**

archives: {
  2023: {
    1: ["3", "ABCD"]
  }
}

2023: {
  1: ["3", "ABCD"]
}

1: ["3", "ABCD"]

0: "3"

1: "ABCD"

我想在屏幕上显示键,这是我想显示的键(2023和1),我不知道如何迭代这个键,我还想显示值(ABCD,3)。

kjthegm6

kjthegm61#

根据我的理解,您有一个archives对象,您希望在v-for的帮助下以递归方式打印它们的键和值。我假设下面提到的预期输出。
输入对象**:**

{
  archives: {
    2023: {
      1: ["3", "ABCD"]
    }
  }
}

预期产出**:**

2023: {
  1: ["3", "ABCD"]
}

1: ["3", "ABCD"]

0: "3"

1: "ABCD"

如果我的理解是正确的,这是现场演示**:**
一个二个一个一个

bxjv4tth

bxjv4tth2#

你可以使用Object.keys方法,它会以数组的形式返回一个对象的键。在你的例子中,你可以在一个函数中递归地调用它来迭代嵌套的对象

const getKeys = (obj) => {
    Object.keys(obj).forEach((key) => {
        //
        if (type obj[key] == "object") {
            getKeys(obj[keys])
        }
    })
}

相关问题