Object.keys()js把对象按照属性名的字母顺序进⾏排列
var obj = {name: "zhangsan", age: 8, ace: 5, nbme: "lisi"};//要排序的对象
function objKeySort(obj) {//排序的函数
var newkey = Object.keys(obj).sort();
  //先⽤Object内置类的keys⽅法获取要排序对象的属性名,再利⽤Array原型上的sort⽅法对获取的属性名进⾏排序,newkey是⼀个数组
var newObj = {};//创建⼀个新的对象,⽤于存放排好序的键值对
for (var i = 0; i < newkey.length; i++) {//遍历newkey数组
newObj[newkey[i]] = obj[newkey[i]];//向新创建的对象中按照排好的顺序依次增加键值对
}
return newObj;//返回排好序的新对象
}
objKeySort(obj) ;  //函数执⾏
Object {ace: 5, age: 8, name: “zhangsan”, nbme: “lisi”};// 执⾏结果
如果要倒序排列,只需把newkey这个数组中的每⼀项进⾏颠倒即可,即var newkey = Object.keys(obj).sort().reverse();
objKeySort(obj) ;  //函数执⾏
Object {nbme: “lisi”, name: “zhangsan”, age: 8, ace: 5};// 执⾏结果
Object.keys 返回⼀个所有元素为字符串的数组,其元素来⾃于从给定的对象上⾯可直接枚举的属性。这些属性的顺序与⼿动遍历该对象属性时的⼀致。
var arr = ["a", "b", "c"];
alert(Object.keys(arr)); // 弹出"0,1,2"
// 类数组对象
var obj = { 0 : "a", 1 : "b", 2 : "c"};sort函数 js
alert(Object.keys(obj)); // 弹出"0,1,2"
// getFoo是个不可枚举的属性
var my_obj = ate({}, { getFoo : { value : function () { return this.foo } } }); my_obj.foo = 1;
alert(Object.keys(my_obj)); // 只弹出foo

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。