角度选择id是什么并添加值

时间:2015-08-10 14:24:40

标签: angularjs

我有一个包含类别的列表,然后我需要动态地将子类别添加到某些类别中。

说我们有以下代码:

var list = []
var cat = {
    "CategoryId": 1,
    "CategoryName": "Cat"
} // example of a category

list.push(cat);

还增加了几十个,然后有一个子类别,如下所示:

var subCat = {
    "CategoryId": 1,
    "CategoryName": "Cat",
    "SubCategoryId": 1,
    "SubCategoryName": "some subCate"
} // example of a subcategory

我需要找到正确的类别基于CategoryId的基础,我尝试按以下方式进行:

// creating a category like this
list[CategoryId] = value;

// And for the subcat
list[CategoryId].SubCategories.push(value);

但是当CategoryId像1,3,7,......(并且在我的情况下它是这样的)时,这会“失败”因为长度将是最高的id -1而不是真实的长度。

1 个答案:

答案 0 :(得分:1)

尝试使用Object而不是Array:

list = {
    1: {
        "CategoryId": 1,
        "CategoryName": "Cat"
    },
    3: {
        "CategoryId": 3,
        "CategoryName": "Dog"
    }
};

然后您可以通过list[id]访问它。