【问题标题】:Convert array to object - Javascript Help me [closed]将数组转换为对象-Javascript帮助我[关闭]
【发布时间】:2020-09-30 18:50:03
【问题描述】:

如何将数组转换为对象?

我要治疗的:

[ "黑色-XXS", “黑色-M”, “黑色-L”, “黑色-XL”, “黑色-XL”, "白色-XXS", “白-L”, “红色-M”, “蓝色-2XL”, “蓝色-2XL”, “蓝色-2XL”, “蓝调” ]

结果:

{ “黑色的”: { “XXS”:1, “M”:1, “L”:1, “XL”:2 }, “白色的”: { “XXS”:1, “L”:1 }, “红色的”: { “M”:1 }, “蓝色的”: { “2XL”:3, “S”:1 } }

【问题讨论】:

  • Stack Overflow 不是免费的代码编写服务。根据 Stack Overflow 的How to Ask guidelines,您的问题应该清楚地展示以前为解决相关问题而进行的尝试或研究,特别是为什么这些尝试/该研究不符合您的要求。这不仅可以确保社区回答者不会建议您已经尝试过的方法,而且还允许回答者潜在地指出您可以从中学习的方法/执行中的缺陷。
  • 我不知道,对不起,我会注意的
  • @esqew 的评论适用于一般的编程,而不仅仅是这里。

标签: javascript arrays object


【解决方案1】:

就像其他人指出的那样,这不是一个免费的代码编写平台。不过,我会给出一些指示。

首先,如果不是很明显,你需要一个循环来遍历数组。

接下来,您的字符串似乎包含一些您想要提取的信息。这意味着您需要解析字符串并拆分它们。大部分都有一个“-”,所以你可以试试string.split()方法把它们分开。

接下来,您需要将它们添加到对象中。只需使用object[key] 就可以让您动态访问值。您需要:

  1. 检查键(颜色名称)是否存在
  2. 如果密钥不存在,添加密钥
  3. 检查子键(大小)是否存在
  4. 如果密钥不存在,添加密钥
  5. 适当增加数字

尝试一下,如果您遇到特定问题,可以提出来。否则,您不太可能在这里获得帮助。

【讨论】:

  • 我正在尝试这样做:var result = {}; for (let i = 0; i
  • @AlvaroMendes 您绝对不会通过将代码粘贴为注释中的一行来获得帮助。我不会尝试破译它。将来,您应该在原始帖子中包含代码,或者,如果您需要对其进行评论,请创建一个CodePen 此外,您需要明确说明什么是有效的或无效的。我建议创建一个包含原始代码的新帖子,并列出您遇到的任何错误或问题,然后再试一次。无论如何,这篇文章的反对票数量使您不太可能得到其他回复。
猜你喜欢
  • 1970-01-01
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-02
  • 2011-09-04
  • 1970-01-01
相关资源
最近更新 更多