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};// 执行结果

时间: 2024-08-28 15:31:27

js 把对象按照属性名的字母顺序进行排列的相关文章

js中对象的属性名和属性值

代码 /** * 对象的属性名 * - 对象的属性名不强制遵循标识符的命名规范,可以是任意的名字,但在开发中 * 尽量遵循标识符的命名规范 */ // 创建对象obj1 var obj1 = new Object(); // 添加属性name obj1.name = "唐僧"; console.log(obj1); // {name: "唐僧"} /** * 如果要使用特殊的属性名,不能采用"."的方式来操作,需要使用另一种 * 方式: * 语法

JS遍历对象修改属性名

根据接口返回数据中number属性值,对数据进行截取,并改变属性名.直接上码: 下面是需要处理的数据 let data={"minValue":7400, "maxValue":"18500", "value":{ "value":[ {"dmdDate":"2019-05","dmdAppValue":"9999"}, {&q

记录,javascript中对象的属性名是字符串,却可以不用引号

问题描述:今日看书,里面介绍js的对象的属性名是包括空字符串在内的所以字符串 问题来了,我们平时定义的对象如下,是没有引号""or’'的 var someone  = {    first_name : “Jeo”,    second_name : “Mike”}; 所以我写了以下程序测试, var stooge = {    “first_name” : “Jeo”,    “second_name” : “Mike”};var copy = {    first_name : “

es6记录之三——对象的属性名表达式

JavaScript 定义对象的属性,有两种方法. // 方法一 obj.foo = true; // 方法二 obj['a' + 'bc'] = 123; 上面代码的方法一是直接用标识符作为属性名,方法二是用表达式作为属性名,这时要将表达式放在方括号之内. 但是,如果使用字面量方式定义对象(使用大括号),在 ES5 中只能使用方法一(标识符)定义属性. var obj = { foo: true, abc: 123 }; ES6 允许字面量定义对象时,用方法二(表达式)作为对象的属性名,即把表

JS全局对象的属性

全局对象是最顶层的对象,在浏览器环境指的是window对象.在ES5中,全局对象的属性与全局变量是等价的. var str = "hello"; function test(){ alert(window.str); } window.str = "hello"; function test(){ alert(str); } 以上两段代码输出结果都是hello. 这种规定被视为是JS语言的一大问题,因为很容易不知不觉就创建了全局变量.在ES6中,var命令和func

js原型对象中属性被覆盖(1)

/**   *@author 程无衣   *@description 关于在原型对象中属性被覆盖   */       function Person(){}       Person.prototype={   constructor:Person,   age:24   }       var person1= new Person();   person1.age=20;   console.log(person1.age);//20   /*输出的是实例的age属性   说明Person

php : 获取对象的属性名

方案有多种: 一. 使用 get_object_vars() 方法 缺点: 只能显示 public 的 //只显示public的 var_dump(get_object_vars($test)); 处理: 在类中定义一个public 的方法, 外部对象调用即可显示所有属性(除了静态属性之外) function showAllProperties2(){ var_dump(get_object_vars($this)); } 二. 使用ReflectionClass类 能够获取所有的属性名 //显

js浏览器对象的属性和方法

1.window对象 /*1.计算浏览器窗口大小*/ //不算滚动条: var width = window.innerWidth; var height = window.innerHeight; document.write("浏览器窗口宽度:"+width+",浏览器窗口高度:"+height+"<br/>"); //算滚动条: var outerWidth = window.outerWidth; var outerHeigh

java实体类的属性名首字母不能大写,不然el表达式无法取值

摘要:Java命名规范中,实体类属性名以小写字母开头,但并没有说不能以大写字母开头,然而事实告诉我,大写真不行 https://www.cnblogs.com/jnhs/p/10025757.html 原文地址:https://www.cnblogs.com/jnhs/p/10025769.html