如何在Javascript的indexOf INDER map函数中为属性使用变量

如何在Javascript的indexOf INDER map函数中为属性使用变量,javascript,Javascript,我的功能如下: getValue(param) { var result = []; result = this.state.ObjectsData.map(x => { if (result.indexOf(x.param) === -1) { result.push(x.param) } }); } //ObjectsData is array of objects ObjectsData = [

我的功能如下:

getValue(param) {
    var result = [];
    result = this.state.ObjectsData.map(x => {
        if (result.indexOf(x.param) === -1) {
            result.push(x.param)
        }
    });
}

//ObjectsData is array of objects

ObjectsData = [
    {tag: 23, name: vicky, gender: m},
    {tag: 13, name: sam, gender: m},
    {tag: 23, name: raj, gender: m}
]

//x can be any object like below:
x = {tag: 23, name: vicky, gender: m}
param是类似propertyName的标记

我在下面的一行中得到了未定义的param,即使param在第行的map之前和之后都有一些值
if(result.indexOf(x.param)=-1){}


我试图为任何属性找到唯一的值,如:
标签:23,13。是的,x.tag或x.name或x.gender可以正常工作,但我想使propertyName动态

您想动态检查名称为
param
值的键,因此

ObjectsData = [
    {tag: 23, name: 'vicky', gender: 'm'},
    {tag: 13, name: 'sam', gender: 'm'},
    {tag: 30, name: 'raj', gender: 'm'}
]
result = _.map(ObjectsData,'tag'); //[23, 13, 30], use indexof result!
if(result.indexOf(23)===-1)
    result = 'not found';
else 
    result = 'found';
if (result.indexOf(x.param) === -1) {
    result.push(x.param)
}
它检查您想要的名为
param
的密钥

if (result.indexOf(x[param]) === -1) {
    result.push(x[param])
}

它将检查名为
param

值的键。您希望动态检查名为
param
值的键,而不是

if (result.indexOf(x.param) === -1) {
    result.push(x.param)
}
它检查您想要的名为
param
的密钥

if (result.indexOf(x[param]) === -1) {
    result.push(x[param])
}

哪个检查值为
param

的键?是否尝试使用indexOf确定对象是否已存在于结果列表中?是否将x.param设置为未定义?
x.param
是否为
未定义
x.tag
x.name
x.gender
应该可以。我正在尝试为任何属性查找唯一值,如:for tag:23、13。是的,x.tag或x.name或x.gender可以正常工作,但我想让propertyName DynamicCare您尝试使用indexOf来确定对象是否已经存在于结果列表中?您得到的x.param是未定义的吗?
x.param
是未定义的
x.tag
x.name
x.gender
应该可以。我正在尝试为任何属性查找唯一值,如:for tag:23、13。是的,x.tag或x.name或x.gender可以很好地工作,但我想让propertyName动态化这不会满足我的需要。我试图为任何属性找到唯一的值,如:for tag:23,13。是的,x.tag或x.name或x.gender可以很好地工作,但我想让propertyName动态化这不会满足我的需要。我试图为任何属性找到唯一的值,如:for tag:23,13。是的,x.tag或x.name或x.gender可以正常工作,但我想让propertyName动态工作。伟大的我似乎用错误的方式评估了一处房产的价值。非常感谢@fuzzytree,这起作用了。伟大的我似乎用错误的方式评估了一处房产的价值。非常感谢@FuzzyTree