我有一个名为 questionSets 的数组,里面装满了对象。createSet 函数应该创建新的或创建现有 questionSets 对象的副本。如果使用 createSet 进行复制,则使用函数 getQuestionsFromSet。出于某种原因,当我从 createSet() 内部调用 getQuestionsFromSet() 时,我总是得到一个返回值“未定义”。我不知道为什么,因为当我对 getQuestionsFromSet() 返回的值执行 console.log() 时,我看到的正是我想要的。
我有这两个功能。
function createSet(name, copiedName) {
var questions = [];
if (copiedName) {
questions = getQuestionsFromSet(copiedName);
}
console.log(questions); // undefined. WHY??
questionSets.push({
label: name,
value: questions
});
}; // end createSet()
function getQuestionsFromSet(setName) {
$.each(questionSets, function (index, obj) {
if (obj.label == setName) {
console.log(obj.value); // array with some objects as values, which is what I expect.
return obj.value;
}
});
}; // end getQuestionsFromSet()