Javascript类似列表的数据结构

时间:2016-08-08 18:00:11

标签: javascript data-structures

JavaScript中的数据结构是什么?看起来像一个列表,但为什么它有一个大括号而不是标准“[]”?

    var states = {
      "California": {
       "Monterey": ["Salinas", "Gonzales"],
       "Alameda": ["Oakland", "Berkeley"]
       },
    "Oregon": {
      "Douglas": ["Roseburg", "Winston"],
      "Jackson": ["Medford", "Jacksonville"]
      }
    }

我有兴趣创建一种具有如下结构的数组:

颜色:红色,绿色,蓝色,橙色,黄色

食物:香蕉,橘子

人:我,你,我们,他们

...

Javascript中是否存在类似的内容?

谢谢!

5 个答案:

答案 0 :(得分:2)

Javascript中可用的主要工具之一是objects。它们是哈希映射,字典或键值对,或者您想要称之为的任何东西。键是一个字符串(或symbol),值可以是任何值,包括其他对象。

为了创造你所谈论的那种关系,你可以写下这样的东西:

var obj = {
  colors: ['red', 'green', 'blue'],
  food: ['bananas', 'oranges'],
  people: ['me', 'you', 'us']
};
console.log(obj.colors);
console.log(obj.food);
console.log(obj.people);

答案 1 :(得分:2)

问题的第一部分答案是object。我们可以这样声明object。对于练习Object,您可以使用此链接。对于第二部分您可以通过多种方式向对象添加元素。在我的示例中,我声明了一个对象,然后在对象中添加属性。

var obj = {};
  obj.Colors = ['Red', 'Green', 'Blue','Orange', 'Yellow'],
  obj.Food = ['Bananas', 'Oranges'],
  obj.People = ['Me', 'You', 'Us','Them'] 
  console.log(obj.Colors);
  console.log(obj.Food);
  console.log(obj.People);

答案 2 :(得分:1)

这是一个对象。它可以包含任意数量的嵌套数据类型

答案 3 :(得分:1)

<script>   
var arrayObj = [];

var obj = {};
var innerArray = ['Red', 'Green', 'Blue', 'Orange', 'Yellow'];
var secondArray = ['Me', 'You', 'Us', 'Them'];
obj['Colors'] = innerArray;
obj['People'] = secondArray ;
arrayObj .push(obj);
</script>

你可以这样做

答案 4 :(得分:0)

应该是具有嵌套对象数组的对象。 与此有点相似。

var countries = {
    "USA" : {
         "Alabama" : {
                "Birmingham" : 371,
                "Montgomery" : 8771 },
         "Alaska" : {
                "Anchorage" : 9918,
                "Nome" : 8171 },
          "Wyoming"  : {
                "Casper" : 718,
                "Cody" : 888 }
        },
    "Canada" : [ 
        "Alberta" : {
              "Calgary" : "Z871" },
        "British Columbia" {
              "Vancouver" : "B88C",
              "Victoria" : "C99A" },
      ...
};