Javascript 在select Reactjs中排序对象键
我在reactjs中对对象键进行排序时遇到问题。 我将从我的数据库中创建一个类似以下内容的select from对象:Javascript 在select Reactjs中排序对象键,javascript,reactjs,Javascript,Reactjs,我在reactjs中对对象键进行排序时遇到问题。 我将从我的数据库中创建一个类似以下内容的select from对象: { liv_1:value, liv_2:value, liv_3:value, . . . liv_10:value, liv_11:value } 因此,我的组件中有: var selectLevel = <select ref="level"> <option value="
{
liv_1:value,
liv_2:value,
liv_3:value,
.
.
.
liv_10:value,
liv_11:value
}
因此,我的组件中有:
var selectLevel =
<select ref="level">
<option value="" disabled>--Select level--</option>
{
Object.keys(objectLevel).map(function(el, k) {
return <option key={k}
value={el}>{el}</option>;
})
}
</select>
如何维护订单?在映射之前添加调用
sort
:
Object.keys(objectLevel).sort().map(function(el, k) {
return (<option key={k}
value={el}>{el}</option>);
})
Object.keys(objectLevel).sort().map(函数(el,k){
返回({el});
})
您可以使用如下自定义比较器对项目进行重新排序:
Object.keys(objectLevel)
.sort((a,b) => +a.split('_')[1] - +b.split('_')[1])
.map(function(el, k) {
return <option key={k} value={el}>{el}</option>;
})
Object.keys(objectLevel)
.sort((a,b)=>+a.split(“')[1]-+b.split(“')[1])
.map(函数(el,k){
返回{el};
})
您好,谢谢,但它不起作用,我相信问题在于从后端返回的对象顺便说一句,您的代码可以更优雅:object.keys(objectLevel.sort().map((el,k)=>{el})
@LorenzoBerti:用()
包装返回的elment。。我根据我尝试的结果更新了答案,不起作用,但问题是如果我有来自后端的字符串之类的键,它会自动重新排序,我不知道为什么!:(尝试检查服务器的响应,项目的顺序是什么?使用检查元素的顺序是错误的,但在后端,我按正确的顺序发送数据。
Object.keys(objectLevel)
.sort((a,b) => +a.split('_')[1] - +b.split('_')[1])
.map(function(el, k) {
return <option key={k} value={el}>{el}</option>;
})