使用多维数组构建对象以动态创建列

Posted

技术标签:

【中文标题】使用多维数组构建对象以动态创建列【英文标题】:Build object w/ multi dimensional arrays to dynamically create columns 【发布时间】:2021-09-28 02:05:46 【问题描述】:

所以我想看看是否有人可以引导我朝着正确的方向前进。所以我想用多维数组构建一个对象,所以我有三个主要的东西需要分组:“Categories”、“Subheading”、“NoSubHeading”。

这是data.d.results的API响应。

我将它定义为var obj = Object.assign(, data.d.results);的对象

所以我想构建这样的东西:


  "Category": 
    "Some Subheading": [
      somepost,
      someotherpost
    ],
    "Some Other Subheading": [
      anotherpost,
      blah
    ],
    "No Subheading": [
      anotherpost,
      blah
    ]
  ,
  "Another Category": 
    "Some Subheading": [
      somepost,
      someotherpost
    ],
    "Some Other Subheading": [
      anotherpost,
      blah
    ]
  

如果有人能引导我朝着正确的方向前进,我们将不胜感激!

【问题讨论】:

【参考方案1】:

在迭代对象时使用子标题来定义你的数组:

// Initialize output
var result = ;

for (var i = 0; i < obj.length; i++) 

  // Retrieve values
  var cat = obj[i].Category;
  var sub = obj[i].Subheading;

  // Check empty subheading condition
  if (!sub || sub == "") sub = "No Subheading";

  // Initialize objects
  if (result[cat] === undefined) result[cat] = ; // Empty object
  if (result[cat][sub] == undefined) result[cat][sub] = []; // Empty array

  // Insert element at the position defined by Category on the
  // first layer object, and defined by Subheading on the second layer array
  result[cat][sub].push(obj[i]);

  

【讨论】:

爱丽儿这太棒了!非常感谢!我如何能够.append() 构建一些 html 来传递数据?

以上是关于使用多维数组构建对象以动态创建列的主要内容,如果未能解决你的问题,请参考以下文章

将多维表单数据序列化为 JSON 对象数组以使用 application/json

填充临时数组以避免在动态多维数组上使用 Preserve

是否可以在 Java 中动态构建多维数组?

PHP:如何修改动态多维数组

如何使用 jquery 创建具有来自动态创建的表单字段的值的多维数组?

动态处理多维数组作为 UIImage 数组