我们在进行前端开发的时候,有时需要对参数进行签名,签名很多第一步是把对象按属性名字母顺序进行排序,那么在 JS 中如何实现呢?实现方式很多,这边介绍一种通过 ES6 的方式来实现,具体如下:
const data = { // 要排序的原始对象
name: '张三',
age: 18,
sex: '男',
height: '189cm',
weight: '80kg',
hobby: ['跑步', '篮球', '钓鱼']
}
const sortData = { } // 排序后的对象
Object.keys(data).sort().map(key => {
sortData[key] = data[key]
})
console.info(JSON.stringify(sortData)) // => {"age":18,"height":"189cm","hobby":["跑步","篮球","钓鱼"],"name":"张三","sex":"男","weight":"80kg"}
const reverseData = { } // 倒序后的对象
Object.keys(data).sort().reverse().map(key => {
reverseData[key] = data[key]
})
console.info(JSON.stringify(reverseData)) // => {"weight":"80kg","sex":"男","name":"张三","hobby":["跑步","篮球","钓鱼"],"height":"189cm","age":18}
主要用到的知识点
array.sort(sortby)
:用于对数组的元素进行排序。array.reverse()
:用于颠倒数组中元素的顺序。array.map(function(currentValue, index, arr), thisValue)
:用于遍历数组调用函数进行处理。
具体大家可以自行百度其详细用法,这边不做展开。
版权属于:瞭月
本文链接:https://www.lervor.com/archives/154/
版权声明:本文为瞭月原创文章,转载请附上原文出处链接和本声明。