如何从数组中排除空数组?
How can I exclude empties arrays from an array?
我已成功检索到包含产品的数组(按 ID 过滤),但我在输出中也得到了空数组。
这里是我为这个例子写的一段代码:
var category = [{
"reference": 'BC-ENFANT',
"name": 'Pour les Enfants',
"description": 'Soins pour les enfants...',
"id": 155,
"productList": [{
"id": 13655,
"reference": 'PROD_ENFANT_01',
"name": 'Brushing'
},
{
"id": 13656,
"reference": 'PROD_ENFANT_03',
"name": 'Soins'
},
]
},
{
"reference": 'BC-FEMME',
"name": 'Pour les Femmes',
"description": 'Prestations pour les femmes',
"id": 154,
"productList": [{
"id": 13657,
"reference": 'PROD_ENFANT_01',
"name": 'Brushing'
},
{
"id": 13658,
"reference": 'PROD_ENFANT_03',
"name": 'Soins'
},
]
}
];
var productList = category.map(p => {
return p.productList
});
var product = productList.map(p => p.filter(p => p.id === 13657).map(pp => {
return {
Reference: pp.reference,
Name: pp.name,
Quantity: 1
}
}));
console.log(product)
My goal is to retrieve the product object from all the productList
在这种情况下,您可以使用 map()
创建它们的多维数组,然后 flat()
将其组合成一维数组,如下所示:
var category = [{"reference":'BC-ENFANT',"name":'Pour les Enfants',"description":'Soins pour les enfants...',"id":155,"productList":[{"id":13655,"reference":'PROD_ENFANT_01',"name":'Brushing'},{"id":13656,"reference":'PROD_ENFANT_03',"name":'Soins'},]},{"reference":'BC-FEMME',"name":'Pour les Femmes',"description":'Prestations pour les femmes',"id":154,"productList":[{"id":13657,"reference":'PROD_ENFANT_01',"name":'Brushing'},{"id":13658,"reference":'PROD_ENFANT_03',"name":'Soins'}]}];
var productList = category.map(p => p.productList).flat();
console.log(productList)
我已成功检索到包含产品的数组(按 ID 过滤),但我在输出中也得到了空数组。
这里是我为这个例子写的一段代码:
var category = [{
"reference": 'BC-ENFANT',
"name": 'Pour les Enfants',
"description": 'Soins pour les enfants...',
"id": 155,
"productList": [{
"id": 13655,
"reference": 'PROD_ENFANT_01',
"name": 'Brushing'
},
{
"id": 13656,
"reference": 'PROD_ENFANT_03',
"name": 'Soins'
},
]
},
{
"reference": 'BC-FEMME',
"name": 'Pour les Femmes',
"description": 'Prestations pour les femmes',
"id": 154,
"productList": [{
"id": 13657,
"reference": 'PROD_ENFANT_01',
"name": 'Brushing'
},
{
"id": 13658,
"reference": 'PROD_ENFANT_03',
"name": 'Soins'
},
]
}
];
var productList = category.map(p => {
return p.productList
});
var product = productList.map(p => p.filter(p => p.id === 13657).map(pp => {
return {
Reference: pp.reference,
Name: pp.name,
Quantity: 1
}
}));
console.log(product)
My goal is to retrieve the product object from all the productList
在这种情况下,您可以使用 map()
创建它们的多维数组,然后 flat()
将其组合成一维数组,如下所示:
var category = [{"reference":'BC-ENFANT',"name":'Pour les Enfants',"description":'Soins pour les enfants...',"id":155,"productList":[{"id":13655,"reference":'PROD_ENFANT_01',"name":'Brushing'},{"id":13656,"reference":'PROD_ENFANT_03',"name":'Soins'},]},{"reference":'BC-FEMME',"name":'Pour les Femmes',"description":'Prestations pour les femmes',"id":154,"productList":[{"id":13657,"reference":'PROD_ENFANT_01',"name":'Brushing'},{"id":13658,"reference":'PROD_ENFANT_03',"name":'Soins'}]}];
var productList = category.map(p => p.productList).flat();
console.log(productList)