gpt4 book ai didi

javascript - React.js 迭代对象而不是 Object.entries 的正确方法

转载 作者:行者123 更新时间:2023-12-03 12:59:22 24 4
gpt4 key购买 nike

我不喜欢使用 Object.entries(object).map((key, i) 因为我发现这是 ECMAScript 7 的一项实验技术,我觉得有些事情可能会发生生产错误。是否有任何原生 JavaScript 替代方案?

我对名称、价格、描述的值没有任何问题,因为我确切地知道它们应该在哪里渲染,并且我可以使用 Populate.key 访问它们,但对于这些特征,我需要遍历对象并渲染 key 和值(value)。

我尝试使用 Object.keys(priceChars).map(function(key, i) 但不明白如何将键与值分开。就像,它正在渲染“性能 500” ,但我需要将性能字放在图标类中,500是要显示的实际值。

我的 JSON 结构

const Populate = {
'name': "Product",
'price': "1000",
'description': "Product description",
'characteristics': {
'performance': '500',
'pressure': '180',
'engine': '4',
'size': '860*730*1300',
'weight': '420'
}
}

和组件

class PriceBlock extends Component {
render() {
const {priceName, priceDesc, priceVal, priceChars} = this.props;
const characteristics = Object.entries(priceChars).map((key, i) => {
return (
<div className="price__icon-row" key={i}>
<i className={'ico ico-' + key[0]}></i> <span>{key[1]}</span>
</div>
);
});
return (
<div className="col-5 price__block">
<div className="price__name">{priceName}</div>
<div className="price__description">{priceDesc}</div>
<div className="price__icons">
{characteristics}
</div>
<div className={ managePriceClass(priceVal) }>{priceVal}</div>
</div>
);
}
}

最佳答案

a = { 
a: 1,
b: 2,
c: 3
}

Object.keys(a).map(function(keyName, keyIndex) {
// use keyName to get current key's name
// and a[keyName] to get its value
})

较新的版本,使用解构和箭头函数。我将使用这个来编写新代码:

a = { 
a: 1,
b: 2,
c: 3
}

Object.entries(a).map(([key, value]) => {
// Pretty straightforward - use key for the key and value for the value.
// Just to clarify: unlike object destructuring, the parameter names don't matter here.
})

关于javascript - React.js 迭代对象而不是 Object.entries 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40950546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com