这里,我们在数组中有2种类型的变量,一种是整数,另一种是字符串,我试图通过字母顺序或字符串的长度对数组进行排序,但它会不断检测首先输入字符串。
const val=[{
x:"second",
y:2
},{
x:"first",
y:1
}];
function compare(a,b){return b.length-a.length};
val.sort(compare);
console.log(val);
答案 0 :(得分:1)
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragments.HomeFragment"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:src="@drawable/logo"/>
<ListView
android:id="@+id/listFemArrangementer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:listSelector="@color/white"
android:scrollbars="none">
</ListView>
</LinearLayout>
您需要比较属性而不是对象。另外,您可能需要处理-1、0和1的所有情况。我留给你。看看现有的类似问题。
答案 1 :(得分:0)
您找到的不是对象键x
,而是对象的长度,因此需要将a.length
更改为a.x.length
,将b.length
更改为b.x.length
< / p>