問題タブ [jagged-arrays]

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 に答える
442 参照

c# - 新しい配列をジャグ配列に挿入する方法

こんにちは、どんな助けにも感謝します。

わかりました、まず、このようなジャグ配列と次のコードを宣言しました

これで、ギザギザの配列には内部に 1 つの配列が含まれます。次は、次のように配列を埋める必要があります。

今、私のギザギザの配列は次のようになります(この例のデータも挿入します):

今、私の質問は、宣言した場合に以前のデータを失うことなく、新しい配列を挿入するにはどうすればよいですか

前のデータからデータを失います。次のようになります。

最初の2つの配列から宣言しなかった理由は、使用する数がわからないためです.1または20である可能性があり、新しい配列を作成する必要があるたびに、以前のデータが失われます記入してください、注意していただきありがとうございます、

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

c# - 3D 配列を異なる順序でトラバースする

私はこのような配列を持っています:int[][][] grid_floor_row_col;

私はこのようにそれをトラバースしたい:int[][][] grid_row_col_floor;

最初にforループを変更してから、配列を変更しようとしました(新しいものにコピーします)が、それができません。私の心はそれ以上進みません...それがそうであるかどうかさえわかりません可能..

それは同じデータです。列ごと、行ごとにすべてのフロアを読み取り、異なる順序でトラバースする必要があるだけです....これが私がどのようにトラバースしていたかです:

今、トラバースする必要があります:

とても些細なことのようですが、それでもわかりません..

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

c# - ジャグ配列の項目を比較するにはどうすればよいですか?

特定のタイプのジャグ配列を作成し、その配列内の 2 つの項目の比較に基づいて、そこから別の配列を作成したいと考えています。

例えば:

i+1 が存在しない場合、その比較をスキップすると言う方法がわかりません。または、これを行うより良い方法はありますか?

編集

比較すると、列に並んでいる配列から 2 つの項目にアクセスし、それらを使って何かを行い、製品から新しい配列 (同じ構造を持つ) にエントリを作成したいということです。

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

c# - c#ジャグ配列のバグ(要素が常に設定されているとは限りません)

作成中のゲームでマップセグメント(クラスター)を保持するためにジャグ配列を使用しています。配列内の位置は、マップ内のクラスターの位置に対応しています。さらに、内側の配列(ギザギザの部分)にクラスターがロードされていない場合(クラスターは未使用のタイムアウト後に配列から削除されます)、外側の配列のその要素はnullに戻され、マップのメモリ使用量が維持されます。下。

ゲームがマップからクラスターを取得しようとすると、問題は一見ランダムに発生します。

メソッドは、クラスターが配列を取得する前に、ほとんどの場合、loadCluster(int, int)クラスターが配列にロードされていることを確認する必要がありますが、クラスターの追加に失敗することがあります。getCluster(int, int)loadCluster(int, int)

特定のクラスターでは発生しないようですが、内部アレイが追加されていない場合は常に発生します(ただし、ほとんどの場合、問題なく内部アレイが作成されます)。loadCluster(int, int)また、Visual Studioが後続のnullポインター例外をキャッチすると、ステップバックして常に(少なくともこれまでのところ)再呼び出しが通常どおりに機能します。loadCluster(int, int)メソッドにに呼び出しを追加するとgetCluster(int, int)、このバグの頻度も大幅に減少します。

正直なところ、このかなり単純な関数が、一見ランダムにさえ機能しない原因が何であるのかわかりません。どんな助けでも大歓迎です

編集:xAxis[][]を編集する他のコード

Cluster.clusterLoadedクラスターが現在使用されているかどうかを示すブール値です。 は、 falseになるとCluster.clusterTimerカウントダウンするintです。再び真になるとclusterLoaded最大値にリセットされます。falseの 場合、実行するclusterLoadedたびに1ずつ減少します。現在の内部配列にロードされているクラスターの数をカウントするために使用されます。Cluster.Update(GameTime)clusterLoadedloaded

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

c# - C#: 適切なデータ構造は何ですか? (ギザギザのオブジェクト「配列」)

という名前ListIWordオブジェクトがありますtaggedInput。各要素を独自ListIWordオブジェクトに関連付ける必要があります。このためには、別のデータ型を使用する必要があります。

このデータ型では、親リストと子リストの両方が動的である必要があり、実行時に移入される必要があります。

親リストは重複する値を許可する必要があります (したがって、オブジェクトにすることはできませんDictionary)。

親リストを繰り返し処理し、子リストの要素を操作 (追加、削除、再編成) するつもりです。親リストと子リストの両方の各要素は、リスト内の位置からアクセスできる必要があります。

必要なものをよりよく説明するために作成した画像を次に示します。

ここに画像の説明を入力

これに使用するのに最適なデータ型は何ですか? 次のようなものが必要ですList<IWord,List<IWord>> (ただし、それはリストではありません)

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

c# - 行と列に分割された配列 2 次元配列

ByteArray (スクリーンショット データを表す) を 2 次元配列に分割しようとしたので、たとえば 3x3 (xy /rows 列) の配列がある場合

それはこのようになります

2 つの入れ子になった for ループを使用して、シリアル データを新しい2 次元配列の別々の行に分割しようとしています。

この例では、新しいScreenShotRows[] を「b」として呼び出すだけです

b[0][0] = 1 b[0][1] = 2 b[0][2] = 3

b[1][0] = 4 b[1][1] = 5 b[1][2] = 6

b[2][0] = 7 b[2][1] = 8 b[2][2] = 9

問題は、配列全体を反復処理する正しい方法は何ですか 。このコードを使用してそれを達成しようとしていました。

そして、値を代入して最初の行をループします。

b[0][0] = 1 b[0][1] = 2 b[0][2] = 3

b[1][0] = 1 b[0][1] = 2 b[0][2] = 3

b[2][0] = 1 b[0][1] = 2 b[0][2] = 3

これは、ネストされた for ループを使用したこの種の multiDimetional /jagged 配列に対する私の最初の試みであり、それを機能させるには非常に混乱することがわかりました

また、できるだけ早く完了するために、

私のデータは 3x3 よりもはるかに大きく、メソッドは頻繁に複数回呼び出されるため、パフォーマンスが重要です

私の次の動きは、列と同じようにすることです

要素 0,0 から 0,2 ---- 要素 1,0 から 1,2 ---- 要素 2,0 から 2,2

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

c# - C# ジャグ配列型宣言の逆

私はちょうどこれらの「何を...」の瞬間の1つを持っていました. 以下は意図されたものであり、C# での配列の「非自然」宣言の背後にはあいまいな理由がありますか?

私は逆のことを期待していたでしょう。int[,][] は、各要素が 2 次元配列である 1 次元配列を宣言します。

おもしろいことに、型の名前が逆になっています。

誰かがこれを説明できますか?これは意図的にですか?(Windows で .NET 4.5 を使用。)

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

php - アーマーセットを比較するための複雑な配列

ばかげた瞬間があるかもしれませんが、頭の中でこれを解決できないようです。

説明してみます:-

私は3つの「セット」を持っています。各セットには6つのオブジェクトが含まれています。これらのセットのすべての組み合わせを生成するには、ループ(または一連のネストされたループ)が必要です。

それはゲーム用です、私は鎧セットを比較するためのスクリプトを書こうとしています-悲しいことに私は知っています。セットの配列は次のようになります。-

これは私が思っていたよりもずっと簡単かもしれません(またはもっと難しいですか?)。

アイデアは大歓迎です!

ありがとう、ルー。

編集:-

これが配列のサンプルです。余分な統計情報をたくさん取り除き、各ピースに1つずつ残しました。-

この例から(後で他の統計を比較することについて心配します)、「理想的な」部分は、set1の帽子とブーツ、set2のシャツとズボン、set3の手袋と肩になります。

私の質問は、後で比較するために、すべての順列で「結果」配列を生成できるループを作成するための最良の方法です。

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

c# - ポイントの2つの配列からの4つのポイントの組み合わせ

2Dポイントの配列が2つあります。

この2つの配列から、4つのポイントの組み合わせを生成したいと思います。結果はリストに表示されます。

ただし、組み合わせごとにarray1から取得するポイントの数を指定する必要があります(残りはarray2から取得します)。ポイントの順番は関係ありません。そして、繰り返しがあってはなりません。

例えば:

(array1から1ポイント、array2から3ポイントを取得します)

一度もない :

ない :

(array1から2ポイント、array2から2ポイントを取得します)

..。

(array1から3ポイント、array2から1ポイントを取得します)

..。

私は多くの答えを読んだりテストしたりするのに何時間も費やし、解決策を見つけることができなかったので、誰かがこれについて私を助けてくれることを願っています。

PS /編集:C#でコードを提供できれば、それは素晴らしいことです。

0 投票する
0 に答える
1085 参照

c# - ジャグ配列から値を取得する

生徒の名前とそのマークを 2 つの科目で取り、それらを表形式で表示するプログラムを作成したいのですが、ジャグ配列を使用しています。マークだけを表示する場合は素晴らしいですが、生徒の名前も含めたいです表示された情報、以下は私のコードです。

次のように表示されるように、表示された情報に学生情報(名前)を含める方法を教えてください。