扫码关注官方订阅号
var arr=[]; arr['a']=1; arr['c']=3; arr['b']=2;
console.log(arr); //[a:1,c:3,b:2]
想按照 index排序 index 也就是索引 'a','b','c' 排序 排序 不是 值
得到的结果 应该是 [a:1,b:2,c:3]
欢迎选择我的课程,让我们一起见证您的进步~~
题主,首先跟你说:你这样使用是非常不正确的。数组被设计出来不是被这样用的。
当然,数组也是一种对象,你可以随便给它添加属性。但是数组提供的所有API(例如:indexOf、slice)都是针对数值属性的,即'1','2','3'这样的属性(也叫做索引)。包括数组的长度length也是只与索引相关联。
indexOf
slice
你题目中的那个数组,根本就是个空数组,长度为0,没有任何数组元素。根本也不可能使用sort方法排序。
sort
正确的使用方式另一位答主已经给出了。
Just for fun :)
var arr = []; arr['a'] = 1; arr['c'] = 3; arr['b'] = 2; var ret = []; Object.keys(arr).sort((a, b) => a > b).forEach(v => ret[v] = arr[v]); console.log(ret);
有这么写的么。。。。!!!
console.log(arr); //的结果并不是[a:1,c:3,b:2],而是一个数组的实例,像{a:1,c:3,b:2} //换个写法 var arr = new Array; arr.a = 1 arr.c = 2 arr.b = 3
如果你想要json排序,可以这样
var arr = [ { name: 'a', value: 1 }, { name: 'b', value: 2 }, { name: 'c', value: 3 } ]; arr.sort(funciton($0,$1){ return $0.name < $1.name ? -1 else 1; })
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
题主,首先跟你说:你这样使用是非常不正确的。数组被设计出来不是被这样用的。
当然,数组也是一种对象,你可以随便给它添加属性。但是数组提供的所有API(例如:
indexOf、slice)都是针对数值属性的,即'1','2','3'这样的属性(也叫做索引)。包括数组的长度length也是只与索引相关联。你题目中的那个数组,根本就是个空数组,长度为0,没有任何数组元素。根本也不可能使用
sort方法排序。正确的使用方式另一位答主已经给出了。
Just for fun :)
有这么写的么。。。。!!!
如果你想要json排序,可以这样