javascript - 如何为循环的循环添加计数器编号?

标签 javascript loops indexing ecmascript-6

我的数据是这样的

posts : {
    author1 : {
        "article1" : { },
        "article2" : { }
    },
    author2 : {
        "article1" : { },
        "article2" : { }
    }

我有一个循环遍历文章和数字的计数器 Object.keys().map((key)=>.. 然后为每篇文章显示计数器 key + 1 等。工作得很好但现在我想显示所有作者并显示所有文章。

我的界面是这样的

作者1

  1. 文章
  2. 文章

作者2

  1. 文章
  2. 文章

我想变成这样

作者1

  1. 第一条
  2. 第二条

作者2

  1. 第一条
  2. 第二条

我如何使第二个循环从最后 author1 开始

最佳答案

您可以使用 Object.entries() 来迭代对象的属性和值。注意,问题代码中有重复的属性名称

const posts = {
  author1: {
    "article1": {a:1},
    "article2": {b:2}
  },
  author2: {
    "article1": {c:3},
    "article2": {d:4}
  }
}

for (let [key, prop] of Object.entries(posts)) {
  console.log(`${key}:\n`);
  for (let [item, articles] of Object.entries(prop)) {
    console.log(`${item}:${JSON.stringify(articles)}\n`);      
  } 
}

关于javascript - 如何为循环的循环添加计数器编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46505734/

相关文章:

indexing - 如何使用 Lucene.NET 计算文档的 "OnTopicness"

带连接的 MySQL 索引顺序

search - Elasticsearch 中的索引和搜索分析器:将准确的字符串作为第一个结果时遇到麻烦

excel - VBA Excel 比较两个列表是否匹配,在单独的工作表上输出结果

java - 在一个 while 循环内的两个嵌套 while 循环之间切换

javascript - 循环仅在添加 span 标记时显示数组中的最后一个字符串

javascript - 我如何独立使用 router.js?

Javascript 变量不通过传播

javascript - jQuery ie输入文本问题

Javascript 继承 : call super-constructor or use prototype chain?