使用多个数组对对象排序

时间:2016-05-11 09:03:20

标签: javascript arrays sorting object

是否可以使用多个数组对对象进行排序?

示例:

{
 'Michael Schmidt':["Michael Schmidt", "..."],
 'Hans Mustermann': ["Hans Mustermann", "..."],
 'Anton Mustermann': ["Anton Mustermann", "..."]
}

我找到了很多解决方案,如何对一组对象进行排序,但没有解决我的问题。

此致

解决方案:

  var keys = Object.keys(users),
  len = keys.length;
  keys.sort();
 for (var i = 0; i < len; i++) {
   var k = keys[i];
 }

1 个答案:

答案 0 :(得分:0)

对象内部没有订单概念,因此您无法对它们进行排序。如果是数组,您只需使用比较器函数对数组进行排序: public class save { SharedPreferences sharedPreferences; Context ctx; public save(Context ctx,String file) { this.ctx =ctx; sharedPreferences = this.ctx.getSharedPreferences(file,Context.MODE_PRIVATE); } public void store(String key,String value) { SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(key,value); editor.commit(); } public String read(String key) { String v= sharedPreferences.getString(key, "nothing"); return v; } public void remove() { SharedPreferences.Editor editor = sharedPreferences.edit(); editor.clear(); editor.commit(); } public void delete(String str){ SharedPreferences.Editor editor = sharedPreferences.edit(); editor.remove(str); editor.commit(); } public Map<String, ?> readall(){ Map<String, ?> allEntries = sharedPreferences.getAll(); return allEntries; }}

也许您正在寻找JavaScript中的有序地图实现,在这种情况下,您需要使用自己的解决方案(或其他人的实现),因为普通对象不适合这种情况。