Angular:无法将函数参数值检索为对象属性选择器

时间:2017-05-05 19:45:48

标签: function angular variables filter parameters

我在尝试将函数参数值作为对象属性选择器检索到 .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));
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这个怎么样?

getFilteredFMsBy(property: string, value:any) {
    return this._http.get(this.Url).map((response: Response) => response.json().filter((obj) => { return obj[property] == value; }));
}