gpt4 book ai didi

javascript - 函数没有返回正确的值

转载 作者:行者123 更新时间:2023-11-30 05:43:49 26 4
gpt4 key购买 nike

所以我有这两个函数,然后另一个函数调用它们。在函数调用之间,我似乎正在失去范围。

var determineInteractionType = function( interaction ){

var param = interaction.parameterSet.param;

param.forEach(function( parameter, index, array ){
if( parameter.name === "INTERACTION-TYPE" ){
return parameter.value;
}
});
return null;
};

var getInteraction = function( id ){

customInteractions.forEach( function(interaction, index, array){
if( interaction.id == id ){
alert( id );
return interaction;
}
});
return null;
};

这是调用函数的一段代码。错误是即使 getInteraction 返回一个值,它显示 determineInteraction 正在传递一个 null 参数。

var _convertStemFromEAS = function(stem) {
var reg = new RegExp('@\{PRESENTATION-HTML-INTERACTION\}="(.*?)"');
var result;
var count = 1;

while ((result = reg.exec(stem)) !== null) {

var Match = result[0];
var dropdownGuid = result[1];

//The Error seems to be right here
var interactionType = determineInteractionType( getInteraction( id ) );


if( interactionType === "shortTextInteraction" ){
var escaped = $('<div/>').text('<select id="' + NewTmpGuid() + '" data-choice-id="' + dropdownGuid + '" style="width:100px;" data-count="' + count + '" class="easSelection"><option>DD' + count + '</option></select>').html();
}else if( interactionType === "essayTextInteraction" ){

}

count += 1;
stem = stem.replace(Match, escaped);
}
return stem;
};

最佳答案

determineInteraction 正在返回 null,因为这是它被编码返回的内容。

当您从 forEach 循环的内部函数返回时,您并不是从determineInteraction 返回。

你想要做的是这样的:

var determineInteractionType = function( interaction ){

var
returnValue = null,
param = interaction.parameterSet.param;


param.forEach(function( parameter, index, array ){
if( parameter.name === "INTERACTION-TYPE" ){
returnValue = parameter.value;
}
});

return returnValue;
};

关于javascript - 函数没有返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19189895/

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