2012-04-12 18 views
2

JSここに新しいものを入れてください。JavaScriptハッシュを関数の引数として使用するにはどうすればよいですか?

私は関数を扱っていますが、関数のドキュメントには、 "関数の引数は、キーがフィルタリングされる(データベース)フィールドであるJavaScriptハッシュでなければならず、その値は文字列または文字列の配列」を参照してください。私のために働く

例:これらのスニペットの

//New York Knicks fan.... 
viz.filter({CitiesILoathe: ['Boston']}); 
viz.filter({CitiesILoathe: ['Boston','Miami']}); 

のどちらかが、私は()が完了した後、フィルタ見るものから言わ都市を取り除く、私のために働きます。

今すぐ作成した/作成したハッシュを直接渡したいと思います。

方法がわかりません。

var CitiesILoathe= new Object(); //my "hash" 
CitiesILoathe['Boston'] = 1; 
CitiesILoathe['Miami'] = 2; 
viz.filter({CitiesILoathe}); // also tried same thing w/o curly braces 

を...しかし、何の喜び:

私が試したしました。私はdocsを使って検索してきましたが、JavaScriptのボキャブラリ/インテリジェンスはこの時点では遅いですが、私が探しているものは本当にわかりません。

誰でも私に正しい方向へのプッシュを与えることができますか?どうもありがとう!

答えて

2
//inline declaration 
var CitiesILoath = { 
    "CitiesILoath": [ 
     "Boston" 
     ,"Miami" 
    ] 
} 
viz.filter(CitiesILoath) 

//ad-hoc 
var myFilter = {}; //same as "new Object()" 
myFilter["CitiesILoath"] = []; //same as "new Array()" 
myFilter["CitiesILoath"].push("Boston"); //append to array 
myFilter["CitiesILoath"].push("Miami"); //append to array 

//or, use decimal notation 
var myFilter = {}; //same as "new Object()" 
myFilter.CitiesILoath = []; //same as "new Array()" 
myFilter.CitiesILoath.push("Bostom"); //append to array 
myFilter.CitiesILoath.push("Miami"); //append to array 
viz.filter(myFilter)

「ハッシュ」オブジェクトそのものです。.. 「キー」はフィールドであり、この場合「CitiesILoath」であり、これらのキーの値は文字列で埋められた配列です。

1
var x= { "CitiesILoathe" : [ 
    "Boston", 
    "Miami" 
] }; 
viz.filter(x); 
1

あなたがオブジェクトたい(それの名前は重要ではありませんので、私は、xそれを呼ぶことにします)CitiesILoatheと呼ばれる一つの特性を有しています。あなたはそれに追加するpushを使用することができますので、そのプロパティは、配列である:

var x = {CitiesILoathe: []}; 
x.CitiesILoathe.push('Boston'); 
x.CitiesILoathe.push('Miami'); 
viz.filter(x); 

ます。また、このような操作を行うことができます。

var CitiesILoathe = []; 
CitiesILoathe.push('Boston'); 
CitiesILoathe.push('Miami'); 
viz.filter({CitiesILoathe: CitiesILoathe}); 
+0

ありがとうございました。感謝。 –

関連する問題