現在取り組んでいるプロジェクトの要件がありますが、これは少し注意が必要です。
Text
基本的に、これらのアイテムのプロパティに基づいてアイテムの配列を並べ替える必要があります。
これが私のアイテムです:
var answers = [],
answer1 = { Id: 1, Text: '3-4 weeks ago' },
answer2 = { Id: 2, Text: '1-2 weeks ago' },
answer3 = { Id: 3, Text: '7-8 weeks ago' },
answer4 = { Id: 4, Text: '5-6 weeks ago' },
answer5 = { Id: 5, Text: '1-2 days ago' },
answer6 = { Id: 6, Text: 'More than 1 month ago' };
answers.push(answer1);
answers.push(answer2);
answers.push(answer3);
answers.push(answer4);
answers.push(answer5);
answers.push(answer6);
各アイテムのプロパティを分析してText
、並べ替え後の配列が次のようになるようにする必要があります。
answers[0] = { Id: 6, Text: 'More than 1 month ago' }
answers[1] = { Id: 3, Text: '7-8 weeks ago' }
answers[2] = { Id: 4, Text: '5-6 weeks ago' }
answers[3] = { Id: 1, Text: '3-4 weeks ago' }
answers[4] = { Id: 2, Text: '1-2 weeks ago' }
answers[5] = { Id: 5, Text: '1-2 days ago' }
論理的には、日付が遠いほど優先度が高くなるため、配列の最初に表示されるはずです。したがって、「1〜2日」は、「7〜8週間」よりも優先度が低くなります。
つまり、論理的には、数値を抽出してから、単位(日、週など)を抽出し、それらの詳細に基づいて配列を並べ替える必要があります。
正直なところ、解決策を見つけるのは非常に難しいと感じています。助けていただければ幸いです。
編集:私が扱っているデータに関しては、それはWebサービスから戻ってきており、テキストを変更することはできません。ですから、そのまま使用する必要があります。