gpt4 book ai didi

javascript - 简化 if 语句

转载 作者:行者123 更新时间:2023-11-28 20:11:41 27 4
gpt4 key购买 nike

我有一个带有 if 语句的函数,其中包含两个单独的 AJAX 调用操作。根据名为 subjectType 的变量,调用条件会发生变化。如果我想获取用户信息,我需要为其提供 userLoginName。如果我尝试获取站点信息,我需要为其提供 webURL。

我可以使用 if 语句来完成此任务,但是有没有更好的方法来做到这一点而不必重复大部分行?

var subjectType = if(/*I'll check the value of the drop down to see if a user or site report was asked for*/)?"GetGroupCollectionFromUser":"GetGroupCollectionFromWeb";

function parseSubjectColFromUser(subject){
var subjectGroups = [];
if (subjectType){
$().SPServices({
operation: "GetGroupCollectionFromUser",
userLoginName: subject,
completefunc: function(xData, Status){
$(xData.responseXML).find("Group").each(function(){
subjectGroups.push($(this).attr('Name'));
});
}
});
}else{
$().SPServices({
operation: "GetGroupCollectionFromWeb",
webURL: subject,
completefunc: function(xData, Status){
$(xData.responseXML).find("Group").each(function(){
subjectGroups.push($(this).attr('Name'));
});
}
});
}
return subjectGroups;
}

最佳答案

应该很简单...我还假设您想在此处使用回调函数,因为您是通过 AJAX 请求执行此操作。

function parseSubjectColFromUser(subject, myCallback){
var subjectGroups = [];
var params = {
operation: subjectType ? "GetGroupCollectionFromUser" : "GetGroupCollectionFromWeb",
completefunc: function(xData, Status){
$(xData.responseXML).find("Group").each(function(){
subjectGroups.push($(this).attr('Name'));
});
myCallback(subjectGroups);
}
};

if (subjectType) {
params.userLoginName = subject;
} else {
params.webURL = subject;
}

$().SPServices(params);
}

关于javascript - 简化 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819761/

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