問題タブ [asort]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sorting - Lua の値によるテーブルの連想ソート
Luaでソートしたいキー=>値テーブルがあります。キーはすべて整数ですが、連続していません (意味があります)。Lua の唯一のソート関数はtable.sort
、テーブルを単純な配列として扱い、元のキーと特定の項目との関連付けを破棄する のようです。代わりに、基本的にはPHP のasort()
関数を使用できるようにしたいと考えています。
私が持っているもの:
並べ替え操作の後に欲しいもの:
何か案は?
編集:回答に基づいて、私が使用している特定の埋め込みLuaインタープリターの単なる奇妙な癖であると想定しますが、すべてのテストで、pairs()
常に追加された順序でテーブル項目を返しますテーブル。(つまり、上記の 2 つの宣言は異なる方法で繰り返されます)。
残念ながら、これは通常の動作ではないため、必要なものを取得できないようです。Lua には (もちろん) 必要なツールが組み込まれておらず、組み込み環境は私が回避するにはあまりにも制限されています。
それでも、皆さん、助けてくれてありがとう!
linux - awk / gawk asorti()の問題
gawkのasorti関数で次の問題が発生しました。
結果は次のとおりです。
したがって、awk、辞書式順序で並べ替えられたインデックスはかなり明確ですが、awkのドキュメントには(asort(s [、d]))と書かれています。
「sの内容は、値を比較するためのgawkの通常のルールを使用してソートされます...」
ただし、インデックス自体を一時配列にコピーし、asort()を使用してその新しい配列を並べ替えると、
それは大丈夫のようです(のようなものを使用して):
私はDOIN-IT-WRONGですか、それともgawkのasorti()に問題がありますか?
php - PHP の asort が正しく動作しませんか?
配列の例があります:
値でソートし、そのキーを覚えておきたいです。私が期待した結果は次のとおりです。
だから私の最初の考えは:asort
!わかりました、やった
しかし、いいえ-5 => 35
配列の最後に移動しただけではありません。それは私の配列を次のように変更しました:
分かりますか ?同じ値を持つキーは逆順にソートされます。なんで ?
php - phpソート配列の問題
配列をアルファベットで並べ替えたい
asort()を使用すると、その並べ替えが行われますが、最初に得られる結果は、名前が大文字で、その後、すべての名前が小文字になります。
お気に入り :
私が好きなら:
どうすればいいですか?
php - 配列が作成された日付で並べ替える方法
たくさんの記事があります。
作成した日付(DESCの最新のものが最初)で配列を並べ替えたいと思います。
助けていただければ幸いです。
ありがとう。
php - asortはどのように機能しますか?
私は古い仕事のいくつかを調べていて、非常に異なった長い道のりを試みましたが、asort関数が必要な用途のいくつかで完全に機能することを確認しました。
だから私の質問は正確に、ソート時にasortはどのように関連付けを維持するのですか?配列はキーまたは値で並べ替えることができると思いましたが、3番目の並べ替えピボットはありますか?
php - PHP配列の並べ替え
私はそれらのような2つの配列を持っています:
asort() を使用して $a をソートし、2 番目の配列 $b を $a と同様に自動ソートします。
どうすればいいですか?
awk - 連想配列をAWKでソート
ここに私の配列(gawkスクリプト)があります:
ソート後、次の結果が必要です。
「asort」を使用すると、インデックスが失われます。インデックスを失うことなく配列値でソートする方法は? (値に基づいて順序付けられたインデックスが必要です)
(シェルスクリプトやperlなどではなく、awk/gawkのみでこの結果を取得する必要があります)
私の投稿が十分に明確でない場合は、同じ問題を説明する別の投稿があります: http://www.experts-exchange.com/Programming/Languages/Scripting/Shell/Q_26626841.html )
前もって感謝します
アップデート :
両方に感謝しますが、インデックスではなく値でソートする必要があります(値に従って順序付けされたインデックスが必要です)。
言い換えれば、私はこの結果が必要です:
いいえ :
(同意します、私の例は紛らわしいです、選択された値はかなり悪いです)
Catcall のコードから、動作する簡単な実装を書きましたが、かなり見栄えが悪いです (並べ替えの前にキーと値を連結し、比較中に分割します)。外観は次のとおりです。
もちろん、もっときれいなものがあれば興味があります...
御時間ありがとうございます
php - PHPに含まれる連想配列のサブフィールドを使用して連想配列をソートする方法は?
連想配列をその値の 1 つでソートするにはどうすればよいですか?
例えば:
したがって、出力は次のようになります。
これは、私の質問を示すためだけに簡略化した例です。
私はまだそれ$arr
が連想配列である必要があります。
php - 何百もの異なる名前と値を持つ配列の並べ替え
私は何百人ものユーザーを追跡し、彼らの経験をつかみ(それを保存し)、そして追跡のための指定された時間が終わったらオンデマンドでそれを再びつかむプログラムを作っています。私がやろうとしているのは、得られた経験の量を名前と関連付けながら並べ替え、得られた経験を最高から最低に出力することです。
これが私がしていることの例です:
ですから、変数を出力する場合は、「a」が最初になるように作成しようとしています(ご覧のとおり、「a」が唯一の「人」であるためです。他の人よりも多くの経験')、そして'be'はアルファベット順にそれに従います。現在、データが収集される前にアルファベット順に並べ替えられているため、得られた経験を並べ替えるだけでよいと思います。
どうすればこれを達成できますか?