使用Javascript对象模仿段落标题类型

时间:2017-01-09 10:17:54

标签: javascript

假设你有这样的段落标题:

  • H1 - Header1
  • H1.1 - SubHeader 1.1
  • H1.2 - SubHeader 1.2
  • H1.3 - SubHeader 1.3

我想尽可能模仿对象调用。 因此,如果我致电H1,它将返回标题Header1,但如果我致电H1.1 它将返回SubHeader 1.1

我想创建一个像这样的对象:

var H1 = {
    1: SubHeader 1.1,
    2: SubHeader 1.2,
    3: SubHeader 1.3,
}

问题是如何实现H1的调用?

3 个答案:

答案 0 :(得分:1)

以下是3种方法。选择适合您需求的那个

//Nested objects
var headers = {
  "1": {
    "": "Header 1",
    "1": "Subheader 1.1",
    "2": "Subheader 1.2",
  },
  "2": {
    "1": "Subheader 2.1"
  }
};

console.log(headers["1"][""]);
console.log(headers["1"]["1"]);

//Each header has is own object
var h1 = {
  "": "Header 1",
  "1": "Subheader 1.1",
  "2": "Subheader 1.2"
};

var h2 = {
  "1": "Subheader 1.2"
};

console.log(h1[""]);
console.log(h1["1"]);

//One object to rule them all
var headersBis = {
  "1": "Header 1",
  "1.1": "Subheader 1.1",
  "1.2": "Subheader 1.2",
  "2.1": "Subheader 2.1"
};

console.log(headersBis["1"]);
console.log(headersBis["1.1"]);

答案 1 :(得分:0)

你应该像这样构建你的对象:

var headers = {
    "H1" : "Header 1",
    "H1.1" : "SubHeader 1.1",
    "H1.2" : "SubHeader 1.2",
    "H1.3:" : "SubHeader 1.3"
}

然后像headers["H1"]headers["H1.1"]

一样使用它

答案 2 :(得分:0)

您正在定义object,无法满足您的要求。根据您的要求,您可以使用以下对象

var H = {
'1': "Header 1",
'1.1': "SubHeader 1.1",
'1.2': "SubHeader 1.2",
'1.3': "SubHeader 1.3"
 }

简单地称他们为

 H['1'], H['1.1'], H['1.2']