JS Newb在这里。
我正在使用一个函数,并且该函数的文档说“函数的参数必须是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词汇/智能在这一点上很慢,我真的不知道我在找什么。
任何人都可以向我推进正确的方向吗?非常感谢!
答案 0 :(得分: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)
“Hash”是对象本身..“keys”是字段,在本例中为“CitiesILoath”,这些键的值是一个数组,用字符串填充。
答案 1 :(得分:1)
var x= { "CitiesILoathe" : [
"Boston",
"Miami"
] };
viz.filter(x);
答案 2 :(得分: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});