【问题标题】:Store a data table in javascript在javascript中存储数据表
【发布时间】:2022-01-12 20:48:27
【问题描述】:

我是 JS 新手,想将下表存储在一个变量中。 我使用了如下的字典。也许我错了,不好。

<script>
    var dict = {}
    dict[0]['Name'] = "AD";
    dict[0]['Color'] = "Blue";
    dict[0]['Year'] = "2020";

    dict[1]['Name'] = "DC";
    dict[1]['Color'] = "Red";
    dict[1]['Year'] = "1809";

    dict[2]['Name'] = "FD";
    dict[2]['Color'] = "Green";
    dict[2]['Year'] = "2011";

    console.log(dict);
</script>

都是这样。但我只得到错误输出。

TypeError:无法设置未定义的属性(设置“名称”)

我需要通过 Javascript 来感受这种结构的数据。但我错了。为什么?有什么问题?

请看我附上的桌子图片。

enter image description here

【问题讨论】:

  • 已完成。我不明白。
  • 我认为您正在尝试制作对象数组these answers could help
  • @Pichai 如果基本的 JavaScript 数据结构是“复杂的 (sp.)”,我建议重新阅读一些更基础的语言介绍材料。如果没有这些基本知识,您会发现继续培养自己的技能会很困难。

标签: javascript


【解决方案1】:

首先,dict 应该是一个数组,而不是一个对象。然后,您应该将对象添加到数组中。示例:

let dict = [];
dict.push({'Name': 'AD', 'Color': 'Blue', 'Year': '2020'});
console.log(dict);

【讨论】:

  • 是json的一种吗?
  • @Pichai JSON 是 Javascript 数据结构的文本表示。如果您不确定是否理解其中的区别,我建议您查找一些关于 Javascript 类型和数据结构的教程。确保您了解基本原理。
  • @voiarn 如何一次只添加一个而不是全部?
  • @Pichai 这样,您将表格的每一“行”一一添加到dict。您正在一次将整行添加为对象。如果您逐一添加名称,颜色,年份,我看不出会有什么帮助。
  • @Pichai 您可以编辑您的问题以显示您实际上打算如何使用它吗?听起来您尝试做的与您向我们展示的不同。
【解决方案2】:

您需要将尝试设置的索引定义为对象。但是,我会建议在索引 3 处使用我的示例。或者,您可以使用array 而不是object。我假设在这种情况下您需要键值对。

    var dict = {}
    dict[0] = {}
    dict[0]['Name'] = "AD";
    dict[0]['Color'] = "Blue";
    dict[0]['Year'] = "2020";

    dict[1] = {}
    dict[1]['Name'] = "DC";
    dict[1]['Color'] = "Red";
    dict[1]['Year'] = "1809";

    dict[2] = {}
    dict[2]['Name'] = "FD";
    dict[2]['Color'] = "Green";
    dict[2]['Year'] = "2011";

    // I would recommend doing it like this instead
    dict[3] = {Name: 'CD', Color: 'Red', Year: '2012'}

    console.log(dict);

【讨论】:

  • 我会编辑您的答案以使用数组,因为这样最有意义。
  • 我同意从我可以看到的数组最有意义,但是问题是指字典,并且已经有一个解释数组方法的响应,所以我认为更改我的响应不会为问题添加任何价值。
  • @VincentMenzel 你的回答很好,接近我想要的。唯一的问题是每次都需要定义一个新字典。
  • @Pichai 这不是问题,这确实是让它工作所需要的。
  • 对象必须以任意一种方式定义(使用数组或字典时)
猜你喜欢
  • 1970-01-01
  • 2016-10-10
  • 1970-01-01
  • 2018-02-12
  • 2020-03-27
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 2018-04-27
相关资源
最近更新 更多