プロパティを持つオブジェクトの配列があり、オブジェクトを特定のプロパティで並べ替えるにはどうしたらいいですか?たとえば、私はdate
プロパティを持つnews
オブジェクトの束をそれぞれ持っていたとしましょう。オブジェクトのプロパティを使用してオブジェクトの配列を並べ替える方法
どのようにして各オブジェクトをjavascriptで日付順に並べ替えることができますか?
プロパティを持つオブジェクトの配列があり、オブジェクトを特定のプロパティで並べ替えるにはどうしたらいいですか?たとえば、私はdate
プロパティを持つnews
オブジェクトの束をそれぞれ持っていたとしましょう。オブジェクトのプロパティを使用してオブジェクトの配列を並べ替える方法
どのようにして各オブジェクトをjavascriptで日付順に並べ替えることができますか?
あなたの配列がある場合はARR:あなたは、.sort()
にこのようなものを独自の関数を渡す必要があります
arr.sort(function(a,b) {
return (a.date < b.date ? -1 : (a.date > b.date ? 1 : 0));
});
:
someArray.sort(function(a, b) {
if (a.date < b.date)
return -1;
else if (a.date > b.date)
return 1;
return 0;
});
あなたの関数はただ与えられた任意の二つを比較できるようにする必要があり
オブジェクトは、どちらが最初に来るかに応じて負または正の値を返し、等しい場合はゼロを返します。 .sort()
関数は残りの部分を処理します。
これは、好きなオブジェクトの任意のプロパティを並べ替えることができ、最初のプロパティが等しい場合にセカンダリソートを導入することもできます(オプション)。戻り値を無効にするだけで、昇順と降順を制御することもできます。
おそらく、トップのバナーにもっと注意を払って、別の回答が投稿されたことを伝えてください。ああ、私はコードと一緒に簡単な説明をしたので、私は挑戦しています。 – nnnnnn
あなたは配列のソート方法にsort functionを供給することができます:
// Sample data
var newsArray = [
{date: '2010/8/12'},
{date: '2012/8/10'},
{date: '2011/8/19'}
];
// Sorting function
function sortNewsArray(arr) {
return arr.sort(function(a, b) {
return new Date(a.date) - new Date(b.date);
}
);
}
は、日付文字列は、単に日付に変換することができます提供。そうでない場合は、データまたはソート機能のいずれかでできるように再フォーマットしてください。
オリジナルオーダー:
ソート順:
これまでに何度も何度も尋ねられてきました。 –