gpt4 book ai didi

javascript - 将对象键名参数传递给函数

转载 作者:行者123 更新时间:2023-11-28 18:30:09 25 4
gpt4 key购买 nike

我有以下函数,它接受数据集、字段名称和搜索字符串,然后使用 ES2015 的箭头函数来查找结果。

调用示例是:

var whatever = myDataSet.find(entry => entry.name === 'John');

我需要从函数内的参数构建它,但我无法获取字段名称。

功能:

findSingle: function(dataSet, fieldName, searchString){
return dataSet.find(entry => entry.fieldName === searchString);
}

我会调用:

my.nameSpace.findSingle(dataSetName, 'name', 'John');

我希望它随后调用:

dataSetName.find(entry => entry.name=== 'john');

但是失败了。 (如果我硬编码 entry.name 它会按预期工作)我很确定这是因为我传递了一个字符串作为 entry.name 的对象属性但我想不出其他方法来做到这一点。

是否可以像这样将字符串传递到对象属性中,还是应该采用不同的方式?

最佳答案

findSingle: function(dataSet, fieldName, searchString){
return dataSet.find(entry => entry[fieldName] === searchString);
}

为了能够使用变量来获取对象属性,您必须使用括号表示法 (object[key])。点表示法 (object.key) 按字面解释并查找名为“key”的键。

在您的情况下,entry.fieldName 等于entry['fieldName']。要使用名为 fieldName 的变量,您必须执行 Entry[fieldName]。

关于javascript - 将对象键名参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38205184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com