問題タブ [multidimensional-array]

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.

0 投票する
1 に答える
139 参照

arrays - 次元に基づいて配列に簡単にアクセス

n次元の配列があるとします。通常使用するスロットにアクセスするには、次のようにします。

コンパイル時に次元数がわからない場合、次のような簡単なアクセスはありますか?

つまり、前後に簡単にナビゲートすることもできます

ActionScript で、1 行のコードで multidim 配列の任意のスロットにアクセスする方法はありますか? 私は間接的にそれを行う代替コード(再帰関数またはループ)を探していません。

JavaScript では次のことができます。

0 投票する
5 に答える
910 参照

php - この多次元配列とこれらの foreach ループを連携させるにはどうすればよいですか?

0 投票する
8 に答える
154285 参照

python - Python の 2D 配列

Pythonで2D配列を作成する最良の方法は何ですか?

私が欲しいのは、次のような値を保存することです:

X[2],Y[2],Z[2]またはX[n],Y[n],Z[n]where nis variableのようなデータにアクセスできるようにします。最初は大きさがわからないnので、最後に値を追加したいと思います。

0 投票する
8 に答える
13640 参照

java - Javaで三次元配列のすべての値をゼロに設定する最良の方法は何ですか?

ゼロにリセットしたい 3 次元配列があります。forこれを行うには、3 つのループを含まない簡単な方法があるはずです。

0 投票する
3 に答える
308 参照

php - [name]だけでなく、[index]esを使用して多次元配列を編集する

機能を実行するにはどうすればよいremoveparamsgroup()ですか?

[名前]だけでなく、[インデックス]もあります!

分かりますか?

array(array(2回!

0 投票する
5 に答える
5432 参照

python - Python でのシンプルなデータ保存

各行が簡単に解析できる配列の文字列表現になるように、Python を使用してデータをフラット ファイルとして保存する簡単なソリューションを探しています。

Pythonにはそのようなタスクを簡単に実行するためのライブラリがあると確信していますが、これまでに見つけたすべてのアプローチは、それを機能させるのが面倒だったようで、より良いアプローチがあると確信しています. これまでのところ、私は試しました:

  • array.toFile() メソッドを使用しましたが、文字列のネストされた配列で動作させる方法を理解できませんでした。整数データを対象としているようです。
  • リストとセットには toFile メソッドが組み込まれていないため、手動で解析してエンコードする必要がありました。
  • CSV は良いアプローチのように思えましたが、これも手動で解析する必要があり、最後に単純に新しい行を追加することはできませんでした。そのため、CSVWriter を新しく呼び出すと、ファイルの既存のデータが上書きされます。

Python以外のソフトウェア前提条件を持たないようにこれを開発しようとしているため、データベースの使用を本当に避けようとしています(SQLiteかもしれませんが、少しやり過ぎのようです)。

0 投票する
1 に答える
3082 参照

php - 多次元混合連想/数値配列シフト

後で修正する必要がある問題があります。スクリプト全体を書き直す時間があれば、そうするでしょうが、それはプログラマーの人生ですよね?とにかく、私はプロジェクトを引き継ぎました、そして私は次のような多次元の混合連想/数値配列を持っています:

私がする必要があるのは、各itemXインデックスのデータセットインデックスをシフトして、これをもたらす最後のインデックスにすることです。

これを実現するのに役立つ可能性のあるいくつかのことは、データセットインデックスが常にitemXインデックスの最初のインデックスであり、キーが常に'dataset'であり、その他はすべて常に数値インデックスであることを知っていることです。PHPでこれを行う方法はありますか?それが混合配列であるという事実は私を投げています。数値インデックスをリセットして0から開始することはできません。順序がシフトされているかどうかは関係ありません。すべて、「データセット」インデックスの前にあるだけです。多分それはそれらの日の1つに過ぎません....:\どんな提案やコメントも大歓迎です。

0 投票する
1 に答える
1518 参照

php - コード分​​離のパラドックス: 多次元配列から HTML ツリーを作成し、HTML を再帰関数の外部に保持する

この作業コードは、この問題の典型的な解決策のようです。

カテゴリとそのサブカテゴリを保持する多次元配列を取り (深さのレベル数に暗黙の制限はありません)、そこから HTML の順序付けられていないリストを作成し、再帰関数内からページにエコーアウトします。

サブレベルは、_category_list()_ という名前の元のコールバック関数内から、各配列要素の「子」キーの値を array_walk() に再帰的に渡すことによってトラバースされます。

すべての HTML コードが関数の外のテンプレートに存在するように、この出力方法を変更するにはどうすればよいでしょうか?

コードの概要は次のとおりです。

この多次元配列は、複数レベルのカテゴリ ツリーを保持します。

HTML で使用する重要なキーは、「category_id」、「name」、および「children」です。簡単にするために、他のキーは以下の配列から削除されていますが、有用な場合は、'parent_id' と 'level' (レベル 1 から開始) です。

.

この次の関数は、HTML 出力の大部分を生成しますが、HTML を内部にロックします。

ただし、関数から直接エコーするのではなく、デザイナーがカスタマイズしやすい方法で、このデータをビュー テンプレートに戻す方法を探しています。

.

コードの次のブロックは、現在のテンプレート html/php で、array_walk() を介して配列の最初のレベルをトラバースし、上記の再帰関数を参照する呼び出しを含みます。次に、関数自体が、1 つ以上の子を持つより深いカテゴリの再帰と反復を処理します。もちろん、これは典型的なアプローチです。

このコードには、外側のタグだけでなく、すべての HTML タグを含める必要があります。

.

理想的なソリューション:

ここでの最終目標は、テンプレート デザイナーが再帰関数 (アクセスできない) を作成または変更する必要なく、多次元の各レベルで foreach ループを使用する必要なく、理想的なナビゲーション構造を作成する方法を見つけることです。配列。ソリューションは、特定の深さの制限に結び付けられるべきではありません。

HTML のカスタマイズの例としては、ul/li タグ内に追加の属性を配置したり、CSS で引き戸効果を実現するためにナビゲーションで一般的に使用される span タグなどの出力テキストを新しいタグで囲んだりすることまで、さまざまです。したがって、適切なソリューションは、少なくともこれらのケース シナリオをサポートする必要があると思います。

array_walk() を使用してテンプレートから配列を反復処理しても、コールバック関数が目的の変数をテンプレートに戻してデザイナーの HTML で使用できるように使用できる限り、問題ありません。

理想的には、もし array_walk_recursive() がその反復子が実際に何レベル深いかを知っていれば、この偉業は解決するのがはるかに簡単になると思います. しかし、誰かがその問題の回避策を知らない限り、解決策はまったく異なる可能性があります.

また、ツリーの構築に JavaScript メソッドを使用することも避けたいと考えています。また、スイッチの使用を避ける方法があれば、私も提案を受け付けています。

0 投票する
3 に答える
1250 参照

php - 配列をキーで多次元配列にソートする

次の結果が得られるデータベーステーブルがあります。

これらの配列の多くを、 category_nameキーに基づいて 1 つの多次元配列に並べ替えてから、 link_updatedキーで並べ替えたいと考えています。

したがって、最終的には次のようにしたいと考えています。

これを行う方法がわかりませんが、独自の並べ替えメソッド (usort()) を作成する必要があると思いますか?

編集: 各カテゴリに 5 つのリンクを表示したい。

0 投票する
2 に答える
31757 参照

c# - Excelからの読み取り(多次元配列への範囲)C#

Excel シートから読み取り、マークされた選択 (領域) を多次元配列に読み込むにはどうすればよいですか? Excel の列は、複数の値を含むため、それ自体が多次元配列である可能性があります。

現在のアイデア (これがどれほど良いか悪いかはわかりません) は、すべての Excel.Area (選択されたフィールド) に対して for ループを実行し、そのフィールドの内容を多次元配列に追加することです。多次元配列は object[,] 型であり、非ジェネリックであるため、便利な add() メソッドはありません。すべて手動で行う必要があります。

このアプローチで問題ないのか、それともより効率的に実行できるのか、考えはありますか?