我在尝试将函数参数值作为对象属性选择器检索到 .filter()方法时遇到问题。
这是我的代码:
myFunction(property, value) {
function myFilter(obj) {
return obj.details.name == value;
}
return this._http.get(this.Url).map((response: Response) => response.json().filter(myFilter));
}
我想将return obj.details.name == value;
替换为return obj.property == value;
。
obj。 property 是我的函数 myFunction(property,value)的参数。 值 参数值工作正常且检索良好。
这就是我想要的:
getFilteredFMsBy(property, value) {
function specificFilter(obj) {
return obj.property == value;
}
return this._http.get(this.Url).map((response: Response) => response.json().filter(specificFilter));
}
如果我在函数中定义属性的值,则相同的情况。它没有用:
getFilteredFMsBy(property, value) {
property = "details.name";
function specificFilter(obj) {
return obj.property == value;
}
return this._http.get(this.Url).map((response: Response) => response.json().filter(specificFilter));
}
有什么想法吗?
答案 0 :(得分:0)
这个怎么样?
getFilteredFMsBy(property: string, value:any) {
return this._http.get(this.Url).map((response: Response) => response.json().filter((obj) => { return obj[property] == value; }));
}