Javascript 有没有办法在React或ES6+中对对象进行排序?

Javascript 有没有办法在React或ES6+中对对象进行排序?,javascript,reactjs,object,Javascript,Reactjs,Object,我知道用Javascript处理对象很难预测项目的顺序,但有没有办法按顺序组织一周中的几天,而不是按字母顺序排列的React或vanilla JS 我想知道是否可以采用如下给定的React对象模型: this.state = { days: { friday: { temperature: 34 }, monday: {

我知道用Javascript处理对象很难预测项目的顺序,但有没有办法按顺序组织一周中的几天,而不是按字母顺序排列的React或vanilla JS

我想知道是否可以采用如下给定的React对象模型:

       this.state = {
            days: {
                friday: {
                     temperature: 34
                 },
                monday: {
                     temperature: 28
                 },
                 tuesday: {
                     temperature: 29
                 }
                 
             }
        }
    this.state = {
        days: {
             monday: {
                 temperature: 28
             },
             tuesday: {
                 temperature: 29
             },
             friday: {
                 temperature: 34
             }
             
         }
    }
按天顺序返回,如下所示:

       this.state = {
            days: {
                friday: {
                     temperature: 34
                 },
                monday: {
                     temperature: 28
                 },
                 tuesday: {
                     temperature: 29
                 }
                 
             }
        }
    this.state = {
        days: {
             monday: {
                 temperature: 28
             },
             tuesday: {
                 temperature: 29
             },
             friday: {
                 temperature: 34
             }
             
         }
    }
我很好奇,因为我很难相信没有现成的方法,不使用数组等


非常感谢您在这方面的意见/帮助:

非数字属性按顺序枚举 创造

因此,要强制执行订单,您可以执行以下操作:

变量x={ 天数:{ 星期日:7, 星期一:1, 星期二:2, 星期三:3, 星期四:4, 星期五:5, 星期六:6 } }; const getValues=o,k=>k.reducea,n=>{…a, [n] :o[n] }, {}; console.logx.days; x、 days=getValuesx.days,[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日];
console.logx.days 非数值属性按它们的顺序枚举 创造

因此,要强制执行订单,您可以执行以下操作:

变量x={ 天数:{ 星期日:7, 星期一:1, 星期二:2, 星期三:3, 星期四:4, 星期五:5, 星期六:6 } }; const getValues=o,k=>k.reducea,n=>{…a, [n] :o[n] }, {}; console.logx.days; x、 days=getValuesx.days,[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日]; console.logx.days;您只需更改您的值结构,并遵循以下代码 让我的状态={ 天数:[ { 日期:'星期五', 体温:34 }, { 日期:'星期一', 体温:28 }, { 日期:"星期二",, 温度:29 } ] }; console.logmystate.days.sorta,b=>a.temperature-b.temperature您只需更改您的值结构并在这里遵循以下代码 让我的状态={ 天数:[ { 日期:'星期五', 体温:34 }, { 日期:'星期一', 体温:28 }, { 日期:"星期二",, 温度:29 } ] }; console.logmystate.days.sorta,b=>a.temperature-b.temperature您可以使用Array.prototype.sort方法解决它。首先对日期进行排序,然后使用Array.prototype.reduce方法生成所需的对象

常数数据={ 天数:{ 星期五:{ 温度:34,, }, 星期一:{ 温度:28,, }, 星期二:{ 温度:29,, }, }, }; 常数天数={ 星期日:1, 星期一:2, 星期二:3, 星期三:4, 星期四:5, 星期五:6, 星期六:7, }; const ret=Object.keysdata.days .sortx,y=>天[x]-天[y] 减少 上一个,c=>{ 常数p=上一个; p、 days={…p.days[c]:data.days[c]}; 返回p; }, {天:{} ; console.logret 您可以使用Array.prototype.sort方法解决它。首先对日期进行排序,然后使用Array.prototype.reduce方法生成所需的对象

常数数据={ 天数:{ 星期五:{ 温度:34,, }, 星期一:{ 温度:28,, }, 星期二:{ 温度:29,, }, }, }; 常数天数={ 星期日:1, 星期一:2, 星期二:3, 星期三:4, 星期四:5, 星期五:6, 星期六:7, }; const ret=Object.keysdata.days .sortx,y=>天[x]-天[y] 减少 上一个,c=>{ 常数p=上一个; p、 days={…p.days[c]:data.days[c]}; 返回p; }, {天:{} ;
console.logret;如果创建。。。i、 e.var x={};x、 星期日=1;x、 星期一=1;x、 星期二=1;console.logObject.keysx。。。我想对象键会按这个顺序出现这回答了你的问题吗?如果创建。。。i、 e.var x={};x、 星期日=1;x、 星期一=1;x、 星期二=1;console.logObject.keysx。。。我想对象键会按这个顺序出现这回答了你的问题吗?也可以通过此链接获取帮助:,也可以通过此链接获取帮助:,