Javascript 基于名称属性的对象数组排序错误

Javascript 基于名称属性的对象数组排序错误,javascript,arrays,node.js,sorting,Javascript,Arrays,Node.js,Sorting,我有一个包含status和name属性的对象数组。 我想根据它们的名称属性使用它们,使用以下代码: array = array.sort(function(a,b){ return a.name - b.name }); 但是,它不会返回正确的排序数组。 下面是一个片段,您可以看到它的实际操作: var数组=[{“name”:“whoopsie”,“status”:“active”},{“name”:“acpid”,“status”:“active”},{“name”:“active”

我有一个包含status和name属性的对象数组。 我想根据它们的
名称
属性使用它们,使用以下代码:

array = array.sort(function(a,b){
   return a.name - b.name
});
但是,它不会返回正确的排序数组。 下面是一个片段,您可以看到它的实际操作:

var数组=[{“name”:“whoopsie”,“status”:“active”},{“name”:“acpid”,“status”:“active”},{“name”:“active”},{“name”:“apparmor”,“status”:“active”},{“name”},{“active”},{状态”:“avahi守护进程”,“status”:“active”},{“name”:“bluetooth”,“status”:“active”},{“active name”:“active”},{“name”:“cups”,“status”:“active},{“名称”:“已浏览cups”,“状态”:“活动”},{“名称”:“dbus”,“状态”:“活动”},{“名称”:“grub common”,“状态”:“活动”},{“名称”:“irqbalance”,“状态”:“活动”},{“名称”:“lightdm”,“状态”:“活动”},{“名称”:“lvm2 lvmetad”,“状态”:“活动”},{“活动”},{“名称”:“lvm2 lvmpolld”,“状态”:“活动”},{“名称”:“apache htcacheclean”,“状态”:“活动”}、{“名称”:“网络管理器”、“状态”:“活动”}、{“名称”:“网络”、“状态”:“活动”}、{“名称”:“后缀”、“状态”:“活动”}、{“名称”:“resolvconf”、“状态”:“活动”}、{“名称”:“Resyslog”、“状态”:“活动”}、{“名称”:“smartmontools”、“状态”:“活动”}、{“名称”:“smbd”、“状态”:“活动”}、{“名称”:“smbd”、“状态”:“活动”}、{“名称”:语音调度器,“状态”:“活动”},{“名称”:“ssh”,“状态”:“活动”},{“名称”:“thermald”,“状态”:“活动”},{“名称”:“tlp”,“状态”:“活动”},{“名称”:“udev”,“状态”:“活动”},{“名称”:“ufw”,“状态”:“活动”},{“名称”:“mysql”,“状态”:“活动”},{“名称”:“alsa utils”,“状态”:“非活动”},{“名称”},{“名称”:“名称”:“名称”:x11常见“,”状态“:”非活动“},{”名称“:”apache HtchacheClean“,”状态“:”非活动“},{”名称“,”状态“:”非活动“},{”名称“,”状态“:”非活动“},{”名称“:”加密磁盘早期“,”状态“:”非活动“},{”名称“:”已浏览的cups“,”状态“:”非活动“},{”名称“,”grub common“,”状态“:”非活动“},{”名称“:”hwclock.sh“,”状态“:”非活动“},{”名称“:”内核操作“,”状态“:”非活动“},{”名称“:”键盘设置.sh“,”状态“:”非活动“,”笔记本模式“,”状态“:”非活动“,”名称“:”lvm2“,”状态“:”非活动“,”名称“:”anacron“,”状态“:”非活动“,”名称“:”网络管理器“,”状态“:”非活动“},{“名称”:“nmbd”,“状态”:“非活动”},{“名称”:“普利茅斯”,“状态”:“非活动”},{“名称”:“普利茅斯日志”,“状态”:“非活动”},{“名称”:“pppd dns”,“状态”:“非活动”},{“普罗米修斯”,“状态”:“非活动”},{“名称”:“samba”,“状态”:“非活动”},{“名称”:“samba ad dc”,“状态”:“非活动”{“名称”:“saned”状态“:”非活动“},{”名称“:”语音调度器“,”状态“:”非活动“},{”名称“:”无人参与升级“,”状态“:”非活动“},{”名称“:”无人参与升级“,”状态“:”活动“}”;
array=array.sort(函数(a,b){
返回a.name-b.name
})
console.log(array.map)(函数(i){
返回i.name

}))
您正在按照表达式
a.name-b.name
进行排序,对于您的数据,该表达式始终为

如果您试图按字母顺序排序,您可能希望看到以下帖子:

var数组=[{“name”:“whoopsie”,“status”:“active”},{“name”:“acpid”,“status”:“active”},{“name”:“active”},{“name”:“apparmor”,“status”:“active”},{“name”},{“active”;“active”},{“name”;“bluetooth”,“status”:“active”},{“active name”;“status”;“active”;“active”;“active”;“status”;“active”;“active”;“active”;“active”;“active”;“active”;“蓝牙”,“status”;“active”;“active”;“active”“},{”名称“:”已浏览cups“,”状态“:”活动“,”状态“:”dbus“,”状态“:”活动“,”grub common“,”状态“:”活动“,”状态“,”irqbalance“,”状态“:”活动“,”名称“,”lightdm“,”状态“:”活动“,”名称“,”lvm2 lvmetad“,”状态“:”活动“,”状态“,”活动“,”lvm2 LVMPOLD“,”状态“,”活动“,”状态“,”活动“,”名称“,”apache htcacheclean”,“状态”:“活动”}、{“名称”:“网络管理器”、“状态”:“活动”}、{“名称”:“网络”、“状态”:“活动”}、{“名称”:“后缀”、“状态”:“活动”}、{“名称”:“resolvconf”、“状态”:“活动”}、{“名称”:“Resyslog”、“状态”:“活动”}、{“名称”:“smartmontools”、“状态”:“活动”}、{“名称”:“smbd”、“状态”:“活动”}、{“名称”:“smbd”、“状态”:“活动”}、{“名称”:语音调度器,“状态”:“活动”},{“名称”:“ssh”,“状态”:“活动”},{“名称”:“thermald”,“状态”:“活动”},{“名称”:“tlp”,“状态”:“活动”},{“名称”:“udev”,“状态”:“活动”},{“名称”:“ufw”,“状态”:“活动”},{“名称”:“mysql”,“状态”:“活动”},{“名称”:“alsa utils”,“状态”:“非活动”},{“名称”},{“名称”:“名称”:“名称”:x11常见“,”状态“:”非活动“},{”名称“:”apache HtchacheClean“,”状态“:”非活动“},{”名称“,”状态“:”非活动“},{”名称“,”状态“:”非活动“},{”名称“:”加密磁盘早期“,”状态“:”非活动“},{”名称“:”已浏览的cups“,”状态“:”非活动“},{”名称“,”grub common“,”状态“:”非活动“},{”名称“:”hwclock.sh“,”状态“:”非活动“},{”名称“:”内核操作“,”状态“:”非活动“},{”名称“:”键盘设置.sh“,”状态“:”非活动“,”笔记本模式“,”状态“:”非活动“,”名称“:”lvm2“,”状态“:”非活动“,”名称“:”anacron“,”状态“:”非活动“,”名称“:”网络管理器“,”状态“:”非活动“},{“名称”:“nmbd”,“状态”:“非活动”},{“名称”:“普利茅斯”,“状态”:“非活动”},{“名称”:“普利茅斯日志”,“状态”:“非活动”},{“名称”:“pppd dns”,“状态”:“非活动”},{“普罗米修斯”,“状态”:“非活动”},{“名称”:“samba”,“状态”:“非活动”},{“名称”:“samba ad dc”,“状态”:“非活动”{“名称”:“saned”状态“:”非活动“},{”名称“:”语音调度器“,”状态“:”非活动“},{”名称“:”无人参与升级“,”状态“:”非活动“},{”名称“:”无人参与升级“,”状态“:”活动“}”;
array=array.sort(函数(a,b){
var textA=a.name.toUpperCase();
var textB=b.name.toUpperCase();
返回(t