Javascript 为什么Object.keys(data).sort()不能按预期工作?
我正在尝试对对象键进行排序 但是当我打印我的对象时,它总是先打印Javascript 为什么Object.keys(data).sort()不能按预期工作?,javascript,jquery,Javascript,Jquery,我正在尝试对对象键进行排序 但是当我打印我的对象时,它总是先打印bb。有人能解释一下吗 它应该先打印aa?我已经把钥匙整理好了 我的第一个键应该是aa,第二个键应该是bb 这是我的密码 var data = { bb:"bb", aa:"cc" }; Object .keys(data) .sort(); console.log(data) 有两件事: JS中的对象没有元素的顺序,就像数组一样 Object.keys返回一个对象键数组,它不会修改对象本身,请参
bb
。有人能解释一下吗
它应该先打印aa
?我已经把钥匙整理好了
我的第一个键应该是aa
,第二个键应该是bb
这是我的密码
var data = {
bb:"bb",
aa:"cc"
};
Object
.keys(data)
.sort();
console.log(data)
有两件事:
- JS中的对象没有元素的顺序,就像数组一样
返回一个对象键数组,它不会修改对象本身,请参见以下示例:Object.keys
var数据={bb:“bb”,aa:“cc”};
var arr=Object.keys(数据);
arr.sort();
console.log(arr);//数组被修改了,
//但它与原始对象无关
两件事:
- JS中的对象没有元素的顺序,就像数组一样
返回一个对象键数组,它不会修改对象本身,请参见以下示例:Object.keys
var数据={bb:“bb”,aa:“cc”};
var arr=Object.keys(数据);
arr.sort();
console.log(arr);//数组被修改了,
//但它与原始对象无关
试试这个
var data={bb:"bb",aa:"cc"};
var keys = Object.keys(data);
keys.sort();
var obj = {};
for(i = 0; i < keys.length; i++){
obj[keys[i]] = data[keys[i]];
}
console.log(obj);
var数据={bb:“bb”,aa:“cc”};
var keys=Object.keys(数据);
keys.sort();
var obj={};
对于(i=0;i
试试这个
var data={bb:"bb",aa:"cc"};
var keys = Object.keys(data);
keys.sort();
var obj = {};
for(i = 0; i < keys.length; i++){
obj[keys[i]] = data[keys[i]];
}
console.log(obj);
var数据={bb:“bb”,aa:“cc”};
var keys=Object.keys(数据);
keys.sort();
var obj={};
对于(i=0;i
在JavaScript中没有任何排序对象键的方法,但您可以通过这样的对象原型来完成
Object.prototype.sortKeys=函数(){
var排序={},
键,a=[];
用于(输入此项){
if(this.hasOwnProperty(key)){
a、 按键;
}
}
a、 排序();
用于(键=0;键 警报(JSON.stringify(data.sortKeys());//返回按键排序的对象数据
JavaScript中没有任何方法可以对对象键进行排序,但您可以通过这样的对象原型进行排序
Object.prototype.sortKeys=函数(){
var排序={},
键,a=[];
用于(输入此项){
if(this.hasOwnProperty(key)){
a、 按键;
}
}
a、 排序();
用于(键=0;键