2

JS 纽布在这里。

我正在使用一个函数,该函数的文档说“函数的参数必须是 JavaScript 哈希,其中键是要过滤的(数据库)字段,值是字符串或数组弦”。

对我有用的例子:

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

这些片段中的任何一个都对我有用,在 filter() 完成后从我看到的内容中删除了所述城市。

现在我想直接传入我之前创建/填充的哈希值。

想不通怎么弄。

我试过了:

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

......但没有快乐。我一直在搜索文档,但此时我的 JavaScript 词汇量/智力很低,我真的不知道我在寻找什么。

谁能给我推动正确的方向?非常感谢!

4

3 回答 3

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”,这些键的值是一个数组,用字符串填充。

于 2012-04-12T19:30:44.887 回答
1
var x= { "CitiesILoathe" : [
    "Boston",
    "Miami"
] };
viz.filter(x);
于 2012-04-12T19:25:33.623 回答
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});
于 2012-04-12T19:27:27.690 回答