文字列値で配列を並べ替えるにはどうすればよいですか?配列を文字列値で並べ替える
['you', 'I', 'me', 'me', 'will', 'me']
のような配列を持つ場合、配列の先頭にある単語me
を持つすべてのインデックスを取得するにはどうすればよいですか?
array.sortを使用しようとしましたが、動作していないようです。
e.target.valueはdomの<select
要素から取得した値です。
arr.sort((a, b) => {
if (a < e.target.value) {
return -1;
}
if (a > e.target.value) {
return 1;
}
return 0;
});
UPDATE: ユーリーの答えは非常にうまく動作しますが、私はオブジェクトの配列で2つの値を一致し、それらをソート持つために何が必要な場合。
例:
arr = [
{id: 1, name: "cookie"},
{id: 2, name: 'foo'},
{id: 3, name: 'bar'},
{id: 2, name: 'foo'}
];
がどのように私は「2」IDを持つすべての要素を配置し、配列の先頭に名「foo」で持つことができますか?
「me」という単語のすべてのインデックスを検索したいですか? –
はい、単語 "me"を持つこれらのインデックスをすべて配列の先頭に移動します。だから、インデックス0,1,2は私でなければならないし、インデックス3、4、5は 'あなた'、 '私'、 '意志'でなければならない – henhen
'['私、'私 '、'あなたがそれらを並べ替えることを望むならば、「私」、「私」、「あなた」、「あります」] –