配列がであり、x[3][1]=1
とx[2][2]=1
に変換したいと思います。コードは、x=[[3,1],[2,12],[3,3]]
のような長い配列に対しても機能するはずです。2D配列を配列の疎配列に変換する
-2
A
答えて
0
まだない場合は、新しい配列を繰り返して作成することができます。次に、指定されたインデックスに値を割り当てます。
このソリューションは結果として新しい配列を使用します。あなたは二つの入力取ると仮定すると、
var x = [[3, 1], [2, 12], [3, 3]],
result = [];
x.forEach(function (a) {
result[a[0]] = result[a[0]] || [];
result[a[0]][a[1]] = 1;
});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
1
:pos0
、pos1
for (i in x)
if (x[i][0] == pos0 && x[i][1] == pos1) {
// Do stuff
}
をだから、基本的に次のようにあなたが行うことができ、各インデックス
0
をチェックします。
var x = [[3,1],[2,12],[3,3]],
r = x.reduce((p,c) => (p[c[0]] ? p[c[0]][c[1]] = 1
: p[c[0]] = Array.from({[c[1]]: 1, length: c[1]+1}),
p),[]);
console.log(r);
0
const x = [[3,1], [2,2]]
console.log('x =', x)
// Initialize 1st dimension array
const y = []
for (let i in x) {
// Initialize the 2nd dimension array if not exist
y[x[i][0]] = y[x[i][0]] || []
// Assign the value to the sparse array
y[x[i][0]][x[i][1]] = 1
}
console.log('y =', y)
出力:
x = [ [ 3, 1 ], [ 2, 2 ] ]
y = [ , , [ , , 1 ], [ , 1 ] ]
0
あなたの配列を反復処理するためにarray#reduce
を使用して、配列が第1の値に対応する存在するかどうかを確認、場合には、それが初期化いないことができます[]
と入力し、そのインデックスに値を割り当てます。
var x=[[3,1],[2,12],[3,3]];
var result = x.reduce((r,[a,b]) => {
r[a] = r[a] || [];
r[a][b] = 1;
return r;
},[]);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
関連する問題
- 1. C#オブジェクト[、] 2D配列をC++ std 2D配列に変換する
- 2. 1D配列のインデックスを2D配列に変換する
- 3. RGBA numpy配列をバイナリ2d numpy配列に変換する
- 4. 1D配列インデックスを2D配列インデックスに変換する
- 5. C#。 1D配列を2D配列に変換する方法
- 6. 3D配列を2Dに変換する
- 7. 2Dリストを2D文字列配列に変換するC#
- 8. 2D配列の配列
- 9. 2D numpy行列を2D numpy配列に変換します。
- 10. 2D配列行列を恒等行列に変換するC#
- 11. 配列int配列を配列配列リストに変換する際の問題
- 12. 配列(配列形式)を配列に変換する - PHP
- 13. 2D配列を可変列幅の1D配列にマッピング
- 14. pandasの列をnpの2dの配列に変換する
- 15. 一連の配列を2D numpy配列に変換する方法
- 16. 3D配列を1D配列に変換
- 17. Javascriptの疎な配列の互換性
- 18. 2D numpy配列のリストを3D numpy配列に変換しますか?
- 19. MPI_他の2D配列の2D配列をスキャンする
- 20. 配列リストの配列をJavaの2d配列
- 21. オブジェクト配列をPowerShellの文字列配列に変換する
- 22. 配列の配列2D最大値
- 23. 2dリストを2d numpy配列に変換する方法は?
- 24. 配列を文字列に変換する配列を変換する関数
- 25. 変換は、2D数値配列にリストのnumpyの配列オブジェクトとバック
- 26. C#で文字列配列をInt配列に変換する
- 27. 文字列配列をfloat配列に変換する
- 28. 配列内の配列をJS内の単一の配列に変換する
- 29. 2D配列プロパティ
- 30. 2D配列C#
あなたの用語が間違っています。 'x = [[3,1]、[2,2]]' *は2次元配列です。あなたが求めているのは、配列の配列を配列の疎配列に変換することです。 –
"配列の配列"は2D配列 –
[[3,1]、[2,2]]をx [3] [1]とx [2] [2]に変換することはまだ可能です –