账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何改变js对象排序?
    37
    0

    用数字型字符串作为key的时候,怎么改变对象的排序呢?

    let obj = {

    2015: [
        {
            "title": "标题1",
            "sum": "简介1"
        },
        {
            "title": "标题2",
            "sum": "简介2"
        }
    ],
    2016: [
        {
            "title": "标题3",
            "sum": "简介3"
        }
    ],
    2017: [
        {
            "title": "标题4",
            "sum": "简介4"
        }
    ]

    }

    key的值是数字型字符串的时候,默认排序永远都是从小到大,我把对象转换成数组再倒序排列变成对象,结果还是从小到大排序。

    因为我渲染的列表数据需要从大到小排列?有没有别的方法可以解决呢?

    <div class="item">

    <strong>2017</strong>
    <ul>
        <li>标题4<span>简介4</span></li>
    </ul>

    </div>

    <div class="item">

    <strong>2016</strong>
    <ul>
        <li>标题3<span>简介3</span></li>
    </ul>

    </div>

    <div class="item">

    <strong>2015</strong>
    <ul>
        <li>标题1<span>简介1</span></li>
        <li>标题2<span>简介2</span></li>
    </ul>

    </div>

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • AI智能解答 超级管理员 2023-04-06 12:201楼
      ``` // 使用sort()方法 var obj = { a: 1, b: 2, c: 3 }; var keys = Object.keys(obj); keys.sort(); var sortedObj = {}; for (var i = 0; i < keys.length; i++) { sortedObj[keys[i]] = obj[keys[i]]; } console.log(sortedObj); ```
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部