按属性长度排序对象数组

Cai*_*aki 4 javascript arrays sorting

我有这个数组:

var itemList = [
    {
        image: "images/home.jpg",
        name: "Home"
    },
    {
        name: "Elvis",
    },
    {
        name: "Jonh"
    },
    {
        image: "images/noah.jpg",
        name: "Noah"
    },
    {
        name: "Turtle"
    }
]
Run Code Online (Sandbox Code Playgroud)

如何将数组组织到具有image属性的对象中,以便它看起来像这样?:

var itemList = [
    {
        image: "images/home.jpg",
        name: "Home"
    },
    {
        image: "images/noah.jpg",
        name: "Noah"
    },
    {
        name: "Elvis",
    },
    {
        name: "Jonh"
    },
    {
        name: "Turtle"
    }
]
Run Code Online (Sandbox Code Playgroud)

Dav*_*INO 5

此代码放在具有该属性的开头元素中'image'.其他元素保持相同的顺序.

function compare(a,b) {
   if ('image' in a) {
       return 1;
   } else if ('image' in b) {
      return -1;
   } else {
      return 0;
   }
}

itemList.sort(compare);
Run Code Online (Sandbox Code Playgroud)