我在Angular 7应用程序上工作,当过滤数据时,我面临错误不能读取属性名'fieldnamefilter'of undefined?
过滤名称我是基于变量fieldnamefilter动态获取的。
下面的代码在this.fieldnamefilter上给出了错误。
contentBody:any[];
fieldnamefilter:any;
console.log("data values : " + this.fieldnamefilter )
//result is data values : onlineURL on console log
// error display on line below filter data[0].this.fieldnamefilter
this.contentBody = data.filter(item =>item != data[0].this.fieldnamefilter);
但如果我把它作为data[0].onlineURL使用,如下图所示,它可以工作。
//working when use field name direct data[0].onlineURL
this.contentBody = data.filter(item =>item != data[0].onlineURL);
data is have datatype any[];so how to solve this issue;
更新后,我尝试。
console.log(this.fieldnamefilter it give me onlineURL
console.log(data[0][this.fieldnamefilter] it give me N/A
const data = [{onlineurl: 'asdasd'}, {onlineurl: 'xxxx'}];
const fieldnamefilter = 'onlineurl';
const filteredData = data.filter(entry => entry[fieldnamefilter] === data[0][fieldnamefilter]);
这个片段的工作原理,所以我们不能调试代码没有MRE,我不能告诉任何进一步。如果你提供一个 MRE 在Stackblitz或其他地方,我们可以进一步帮助。另外,如果你的数据看起来与此不同,请提供一个样本。