2017-01-18 34 views
-1

我有以下数据,我需要从数据创建2个数组。数据需要查看子类别。Javascript从限制数据10创建数组列表

第一个数组将包含所有子类别名称,因此在这种情况下将包含Subcat 1和Subcat 2,第二个列表只计算在该情况下为2的子代码项目数,但限制为10 。

下面是数据:

var data = { 

    "categories":[ 

     { 
      "id":"661", 
      "name": "some name", 
      "subcategory": { 
      "637": { 
       "id": "637", 
       "name": "Subcat 1", 
       "translations": null 
      }, 
      "638": { 
       "id": "638", 
       "name": "Subcat 2", 
       "translations": null 
      } 
     }, 
     "image": "73e043a7fae04b55855bede22da6286b" 
    }; 

]}; 

我怎样才能做到这一点?

+0

能否请您分享您的努力呢? – Rajesh

+0

请添加预期的结果。 –

回答

0

您可以使用两个嵌套的Array#some循环,并在达到限制时退出。

var data = { categories:[{ id:"661", name: "some name", subcategory: { 637: { id: "637", name: "Subcat 1", translations: null }, 638: { id: "638", name: "Subcat 2", translations: null } }, image: "73e043a7fae04b55855bede22da6286b" }] }, 
 
    subcategory = { names: [], count: 0 }; 
 

 
data.categories.some(function (c) { 
 
    return Object.keys(c.subcategory).some(function (k) { 
 
     subcategory.names.push(c.subcategory[k].name); 
 
     subcategory.count++; 
 
     return subcategory.count === 10; 
 
    }); 
 
}); 
 

 
console.log(subcategory);