2017-12-04 11 views
-1

連想配列(オブジェクト)を使用するのではなく、2つの値を関連付けて常に関連し、別々の値としてアクセスできるようにする最良の方法は何ですか?連想配列は順序が保証されておらず、索引を使用してアクセスすることができないので厄介です。javascriptでデータペアをグループ化する最も良い方法は何ですか?

私は2つの別々の配列を作成することができましたが、表示順序をランダム化すると、関連が一致せず、コード内で別々の場合は値を記録する際に間違いを犯す可能性があります。彼らは完全に一致しないように間違った順序。

+2

コードが必要です。その2d配列やオブジェクトがうまくいかない理由がわかりません。 –

+0

インデックス風の振る舞いについては、 '.c0'、' .c1'、 '['c' + i]'のようなものを使うことができます。 – xs0

+0

それでも '{key、value}'要素の配列は使えますが、巨大なリストのためには悪い選択です。ところで、主なものに基づいてビューの別の値を作成することはできませんが、密接に結合されていませんか? – raina77ow

答えて

1

あなたは多次元配列を使用することができます。

var data = [ 
    [1, 2], 
    [3, 4] 
]; 

data[0][0]; // get '1' 
data[0][1]; // get '2' 
また

あなたはより抽象的な方法でデータを関連付ける必要がある場合は、ES6はWeakMapsがあります

var wm = new WeakMap(); 
var x = document.createElement("div"); 
wm.set(x, {foo: 1, bar: 7}); 

console.log(wm.get(x).bar) // get '7' from object you associated to HTMLElement 
+0

ありがとう!私の質問は何らかの理由で投票して閉ざされても、この答えは私に必要なものを与えました。 –

0

私はあなたが保存すべきデータの種類を今いないが、多分あなたは、このように単一の変数にデータを格納しようとすることができます:JavaScriptで

var data = []; 

data[0] = "Test" + "|" + Value; 
+2

もちろんデータ*には「*」が含まれていない限り、 –

+0

私はそれが最悪のアイデアではないことを意味しますが、配列の値を検索して解析する必要があります。 –

+1

*その最悪のアイデア –

関連する問題