の設定次のように私は、文字列を持っている: パンサー^ピンク、グリーン、イエロー|犬^熱い、トップ可変長2次元配列
は、この文字列は、私は2つの主要なブロック(区切ら」を持っていることを意味| '): 「パンサー」と「犬」 この2つの主要なブロックの下で、私は「サブカテゴリ」と言うことができます。
Iは次のように(論理で)で表される2次元配列を作成したい:
パンサー(配列1)=>ピンク(要素1)、緑(要素2)、イエロー(要素3) Dog(Array 2)=> Hot(Element 1)、Top(Element 2)
また、メインブロックを追加できます。 2次元配列
JavaScriptの分割機能を使用して、「Panther^Pink、Green、Yellow」と「Dog^Hot、Top」を含む配列を取得できました。
この文字列はAjax経由で受信され、任意の長さにすることができますが、上記の形式が常に使用されます。
----------------------------- EDIT ---------------- ------------
[OK]を、私のスクリプトは、これまでのところです。しかし
$(document).ready(function(){
appFunc.setNoOfAppBlock('Panther^Pink,Green,Yellow|Dog^Hot,Top');
appFunc.alertPing();
});
var appFunc = (function(stringWithSeper) {
var result = {},
i,
categories = new Array(),
subcategories;
return {
setNoOfAppBlock: function(stringWithSeper){
categories = stringWithSeper.split("|");
for (i = 0; i < categories.length; i++) {
subcategories = categories[i].split("^");
result[subcategories[0]] = subcategories[1].split(",");
}
},
alertPing: function(){
alert(result["Panther"][1]);
}
};
})();
、機能 "alertPing" "警告" されていないanything.What午前私は間違っている?
あなたは、ハッシュ別名連想配列を意味しますか? – nikhil
連想配列を使って上記を達成できれば、私は単純な2次元配列を好んでいますが。 – dinchakpianist
"単純な2次元配列"については説明していません。単純な1次元配列である要素で構成される連想配列について説明しています。 JavaScriptのアソシエイティブな配列と同等のものが「オブジェクト」です。これは私が私の答えで使用したものです(techfoobarもオブジェクトを使用していますので、ほぼ同じ回答を投稿するのに数秒かかります)。シンプルな2次元配列を使用すると、 "Panther"キーと "Dog"キーが失われたり、各サブアレイの最初の要素としてそれらが終わったりします。 – nnnnnn