过滤数据时错误无法读取属性未定义的名称字段名过滤器?

error cannot read property name fieldnamefilter of undefined when filter data?

我在开发 angular 7 个应用程序 我在过滤数据时遇到无法读取未定义的 属性 名称 'fieldnamefilter' 的错误?

过滤器名称我是根据变量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);

但是如果我将它用作数据[0].onlineURL 如下它工作;

 //working when use field name direct data[0].onlineURL

this.contentBody = data.filter(item =>item != data[0].onlineURL);

数据的数据类型为任意[]; 那么如何解决这个问题;

已更新post我试试:

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 的情况下调试代码,因此我无法进一步说明。如果您在 Stackblitz 或其他地方提供 MRE,我们可以提供进一步的帮助。另外,如果您的数据看起来与此不同,请提供示例。