我有一个包含类别的列表,然后我需要动态地将子类别添加到某些类别中。
说我们有以下代码:
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而不是真实的长度。
答案 0 :(得分:1)
尝试使用Object而不是Array:
list = {
1: {
"CategoryId": 1,
"CategoryName": "Cat"
},
3: {
"CategoryId": 3,
"CategoryName": "Dog"
}
};
然后您可以通过list[id]
访问它。