gpt4 book ai didi

javascript - 无法获取更改变量的函数

转载 作者:行者123 更新时间:2023-12-02 15:53:57 29 4
gpt4 key购买 nike

我正在运行一个函数,该函数获取字段名称的值并将所需的变量设置为该字段名称。问题是该变量不返回任何值,我不确定为什么?一定是我做错了什么,但对我来说并不明显。

 var latField, longField;
var fieldNames = csvStore.getAttributes(items[0]);

function findSpecificFieldName(originalField, newFieldArray, matchedField){
var matchId;
matchId = arrayUtils.indexOf(newFieldArray,
originalField);
if (matchId !== -1) {
matchedField = originalField;
}
return matchedField;
}

arrayUtils.forEach(fieldNames, function(fieldName) {
findSpecificFieldName(fieldName, latFieldStrings, latField);
findSpecificFieldName(fieldName, longFieldStrings, longField);
});`

我希望 latField 变量和 longField 变量采用函数内 matchesField 变量的属性,但它们不采用它的值。当检查matchedField变量是否等于originalField变量时,它返回正确的字段,但不会将该信息传递到lat和long字段变量中。

最佳答案

您不能在 JavaScript 中通过引用传递变量。

您应该简单地分配返回值:

latField = findSpecificFieldName(fieldName, latFieldStrings);
longField = findSpecificFieldName(fieldName, longFieldStrings);

您可以传递一个对象作为第三个参数,在这种情况下,该方法将能够修改其属性,但这是不惯用的,也是从 JavaScript 中传递函数返回值的错误方法。

关于javascript - 无法获取更改变量的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713420/

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