Javascript 如何根据两个属性对数组对象进行排序

Javascript 如何根据两个属性对数组对象进行排序,javascript,Javascript,嗨,我有一个对象数组 cards = [ { Asset: "2C.jpg", CardName: "2C", CardPlayed: 0, Playbell: 0, PlayerName: "player1", Rank: 2, Suit: "C" }, { Asset: "9S.jpg", CardName: "9S", CardPlayed: 0, Playbell: 0, PlayerName: "player2", Rank: 9, Su

嗨,我有一个对象数组

cards = [
{ Asset: "2C.jpg",
  CardName: "2C",
  CardPlayed: 0,
  Playbell: 0,
  PlayerName: "player1",
  Rank: 2,
  Suit: "C"
},
{ Asset: "9S.jpg",
  CardName: "9S",
  CardPlayed: 0,
  Playbell: 0,
  PlayerName: "player2",
  Rank: 9,
  Suit: "S"
},
{ Asset: "6D.jpg",
  CardName: "6D",
  CardPlayed: 0,
  Playbell: 0,
  PlayerName: "player1",
  Rank: 6,
  Suit: "D"
}];

我需要根据
Suit
属性对这些对象进行排序,但只能对
PlayerName
属性值等于
“player1”
的对象进行排序,非常感谢您的帮助。

要对
PlayerName
上的数组进行排序,然后对
Suit
进行排序:

var filtered = cards.filter(function(card){
    return card.PlayerName === "player1";
});

var sorted = filtered.sort(function(a,b){
  if (a.Suit > b.Suit) {
    return 1;
  }
  if (a.Suit < b.Suit) {
    return -1;
  }
  // a must be equal to b
  return 0;
});
cards.sort(function(x, y){
  return (
    x.PlayerName < y.PlayerName ? -1 :
    x.PlayerName > y.PlayerName ? 1 :
    x.Suit < y.Suit ? -1 :
    x.Suit > y.Suit ? 1 :
    0
  );
});
cards.sort(函数(x,y){
返回(
x、 PlayerNamey.PlayerName?1:
x、 套装y.套装?1:
0
);
});

要在
PlayerName
上排序数组,然后在
Suit
上排序数组,请执行以下操作:

cards.sort(function(x, y){
  return (
    x.PlayerName < y.PlayerName ? -1 :
    x.PlayerName > y.PlayerName ? 1 :
    x.Suit < y.Suit ? -1 :
    x.Suit > y.Suit ? 1 :
    0
  );
});
cards.sort(函数(x,y){
返回(
x、 PlayerNamey.PlayerName?1:
x、 套装y.套装?1:
0
);
});

要在
PlayerName
上排序数组,然后在
Suit
上排序数组,请执行以下操作:

cards.sort(function(x, y){
  return (
    x.PlayerName < y.PlayerName ? -1 :
    x.PlayerName > y.PlayerName ? 1 :
    x.Suit < y.Suit ? -1 :
    x.Suit > y.Suit ? 1 :
    0
  );
});
cards.sort(函数(x,y){
返回(
x、 PlayerNamey.PlayerName?1:
x、 套装y.套装?1:
0
);
});

要在
PlayerName
上排序数组,然后在
Suit
上排序数组,请执行以下操作:

cards.sort(function(x, y){
  return (
    x.PlayerName < y.PlayerName ? -1 :
    x.PlayerName > y.PlayerName ? 1 :
    x.Suit < y.Suit ? -1 :
    x.Suit > y.Suit ? 1 :
    0
  );
});
cards.sort(函数(x,y){
返回(
x、 PlayerNamey.PlayerName?1:
x、 套装y.套装?1:
0
);
});

可能有助于为EcmaScript<5提供可选的筛选器可能有助于为EcmaScript<5提供可选的筛选器可能有助于为EcmaScript<5提供可选的筛选器可能有助于为EcmaScript<5提供可选的筛选器