【问题标题】:How to organize the data of an object containing an array of objects with same key name如何组织包含具有相同键名的对象数组的对象的数据
【发布时间】:2022-11-11 01:17:11
【问题描述】:

大家好,我正在尝试设置一个小型调查应用程序,我现在正在构建我的调查结果页面,该页面将显示给定调查的结果。 我正在获取的数据是一个对象数组,其中包含answers 数组。

{ totalAnswers: [ 
  { answers: [answer0, answer1, answer2, answer3] }, 
  { answers: [Array] }, 
... ] }

我想知道如何显示数据,因为所有对象键都相同,但数组也都具有相同的长度......欢迎任何线索:)


编辑: 我认为我对我想要实现的目标不够清楚,对此我深表歉意。

所以基本上在我正在构建的这个调查网络应用程序中。我希望调查创建者能够以最佳方式成为 能够单独查看每个问题的答案数据。或者至少能够在 DOM 上显示这些答案。 为了能够做到这一点,我应该找到一种方法来解构这个大的totalAnswers 数组,其中包含每个对象都有一个answers 数组。

answers.length 可能因调查问题的数量而异。并且带有答案数组的对象的数量也可能会根据调查答案的数量而有所不同。

但是,每当我尝试做console.log(totalAnswers.length) 时,它都会返回undefined,这是否意味着它可能是一个对象?我认为由于totalAnswer 后面有括号,这意味着它是一个数组。

【问题讨论】:

  • 对我来说似乎可读。什么是预期的输出?
  • 我希望能够区分这些不同的对象。现在我无法解构这个响应的任何部分
  • 鼓励并应该提供一些输入数据结构的简化示例代码(既不需要是完整的 totalAnswers 数组长度也不需要每个 answer 项目数组长度)和预期结果(来自简化的输入示例)都具有真实的键名或 OP 认为适用于示例案例的键模式。

标签: javascript


【解决方案1】:

每个答案索引可以有一个逗号分隔的答案字符串:

console.log(totalAnswers[0].answers.map((_,i)=>totalAnswers.map(a=>a.answers[i]).join()));

【讨论】:

  • 此行将返回 TypeError: Cannot read properties of undefined (reading 'map') 但感谢 fre
猜你喜欢
  • 2016-01-30
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 2022-06-10
  • 2021-07-12
  • 1970-01-01
相关资源
最近更新 更多