【发布时间】:2017-06-14 20:52:48
【问题描述】:
我有一组对象,我必须通过这些对象进行迭代并返回其 isPremium 属性值为 true isPremium === true 的特定对象,我使用了 .forEach 和 .map function 来实现该功能,但我的解决方案不是根据条件过滤,下面是我的数组和我的解决方案,谁能帮忙,提前谢谢
const brands = [
{id:1, brand_name: 'adidas', brand_trans: 'أديداس', isPremium: true, url: '/brands/adidas'},
{id:2, brand_name: 'adidas Originals', brand_trans: 'أديداس اوريجينال', isPremium: false, url: '/brands/adidas-originals'},
{id:4, brand_name: 'Bodyism', brand_trans: 'بودييزم', isPremium: false, url: '/brands/bodyism'},
{id:5, brand_name: 'Columbia', brand_trans: 'كولومبيا', isPremium: false, url: '/brands/columbia'},
{id:5, brand_name: 'Converse', brand_trans: 'كونفرس', isPremium: true, url: '/brands/converse'},
];
解决方案
var premiumHeader = brands.map(function(item, index) {
for( var key in item ) {
return item.isPremium !== false;
}
});
premiumHeader;
【问题讨论】:
-
您正在寻找
.filter()或.find()。 -
如果要过滤元素,请使用.filter
-
我必须遍历对象数组并返回 isPremium 值为 true 的对象 SLaks
-
将 .map 更改为 .filter - codepen.io/nagasai/pen/pwEQoj 供参考
标签: javascript arrays