我有一个带有一行键并有值的对象。 我正在尝试映射这些键并显示值。
productObj = {id:0, name:"toy", price:10, description:null, inventory:7 }
productObj.map((product, index) => {
if(product.inventory > 0){
return(
<div>Product Inventory: {product.inventory}</div>
);
}
if(product.description){
return(
<p>{product.description}</p>
);
}
})
这是我要完成的工作的一个示例。
我用过:
const keys = Object.keys(productObj)
我能够映射键值数组。
但是,这意味着我将不得不重新使用原始对象来获取键的值。
我确定有更好的方法可以做到这一点?谢谢。
答案 0 :(得分:0)
如果需要键和值,可以使用Object.entries
。
return Object.entries(productObj).filter(x => x[1]).map(([k,v]) => <div>{`k:{v}`}</div>)
“使用上面的示例。if(venture> 2)是否可以实现此if语句。Reduce” 。
您可以创建具有不同按键的对象,这些按键具有不同按键的功能。
const obj = {
invetory:a => a > 2
}
return Object.entries(productObj)
.filter(([k,v]) => obj[k] ? obj[k]() : x[1])
.map(([k,v]) => <div>{`k:{v}`}</div>)