将ID与数组编号匹配并分配关键敲除js

时间:2016-02-18 11:15:59

标签: javascript arrays knockout.js

所以我有一个名为domains的数组,它返回一个数据变体,其中包括一个从0到12的范围。

它看起来像:

domains: {

0 {
available   :   true

category    :   0
}

1 {
available   :   true

category    :   1
}

2 {
available   :   true

category    :   2
}

3 {
available   :   true

category    :   3
}

4 {
available   :   true

category    :   4
}

}

然后我有以下键:

categoryLabels {

0   :   Professional

1   :   Government

2   :   Finance

3   :   Business

4   :   Colors

}

现在我想做的是显示匹配categoryLabel

的matchin类别

我试过这个,但它似乎不起作用:

  for (key in this.categoryLabels) {
                var item = {
                    name: key,         // Push the key on the array
                    value: this.categoryLabels[key] // Push the key's value on the array
                };
               return this.categoryName;
               console.log(this.categoryName.value);
            }

有没有人有解决方案?

1 个答案:

答案 0 :(得分:1)

假设您拥有有效的数据,我调整了您的示例数据。

查看:

<div data-bind="foreach:dom.domains">
  <p> available</p> : <b data-bind="text:available"></b>
  <p> category </p> : <b data-bind="text:ctgry.categoryLabels[category]">  
</div>

<强>码

var dom = {
  'domains': [{
    'available': true,'category': 0}, {'available': true, 'category': 1 },{'available': true,'category': 2  },{ 'available': true,'category': 3},{'available': true,  'category': 4
  }]
};

var ctgry = {
  'categoryLabels': { 0: 'Professional',1: 'Government', 2: 'Finance',3: 'Business',4: 'Colors',
  }
}

ko.applyBindings({ //pass your json data here 
  dom,
  ctgry
});

示例为 grabs

搞砸了

PS:不是将json数据直接传递给ko,而是可以创建viewModel并将其存储在observable&amp;绑定到视图。