JS object里可以按key值排序吗

JavaScript018

JS object里可以按key值排序吗,第1张

可以按key值排序

代码如下:

var mobile = str[1].substring(1)

var conferenceId=str[2]

var callType=str[3]

//报警处理(通过预定义的+H组)

var isAlarm=false

if(callType=='3'){ //预定义组呼入

var preGroup=this.homeU.preGroup

var groupName=preGroup[conferenceId]

if(groupName &&groupName.indexOf('+H')==0){

isAlarm=true

}

}

console.log(groupId+"--根据组号获得组名------->")

var aa = this.homeU.preGroup

console.log("--根据组号获得组名------->"+aa)

var groupName = aa.groupId

得到的groupName 是undefined

js中想根据动态key得到某对象中相对应的value的方法有二:

一、var key = "name1"

var value = obj[key]

二、var key = "name1"

var value = eval("obj."+key)

两者并没有先后的顺序,两者的关系是function属于object类型,即函数属于对象类型,在JavaScript中有两种大的数据类型一种是基本数据类型,一种是对象数据类型‘1、基本的数据类型:字符串、数字、布尔、数组、对象、Null、Undefined。函数属于对象数据类型。2、一些特殊的关系:一般javascript中是使用构造函数来创建对象如下:<script type="text/javascript"> window.onload=function(){function test(name,age,sex){this.name=name this.age=age this.sex="男" this.printer=function(){alert(this.name) alert(this.age) alert(this.sex) }} var x=new test("tom","19","男") x.printer()}</script>

const data = { 1001: 1, 1002: 3, 1003: 2, 1004: 2, 1005: 1 }

const keys=Object.keys(data)

keys.sort(function(a, b){

   return data[b]-data[a]})

console.log(keys) [ '1002', '1003', '1004', '1001', '1005' ]

只是js对象的健是字符串,用的时候还要转换一下

const out=keys.map(function(x){return parseInt(x)})

console.log(out) [ 1002, 1003, 1004, 1001, 1005 ]