gpt4 book ai didi

javascript - 在 `array.push` 向其添加一些字符串后,数组会附加 undefined 。那是正常的吗?

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

在将一些字符串推送到数组后,我在使用 JavaScript 数组添加额外的 undefined object 时遇到了问题。

$(function() {
var formTagArr = [];
$( "button", "#start-button" ).click(function() {
$.getJSON('http://127.0.0.1:8000/some_url/', function(data) {
formTagArr.push(buildForm(data));
console.log(formTagArr);
displayForm(formTagArr);
});
return false;
});

function buildForm(data) {
for (var i = 0; i < data.length; i++) {
var html = "";
var questionsTags = "<fieldset><p>" + data[i].question + "</p>";
var answersTags = "";
for (j = 0; j < data[i].answers.length; j++) {
answersTags += "<input type='radio' name='" + data[i].qid +
"' value='" + data[i].answers[j] + "' /" + ">" +
data[i].answers[j] + "\n";
}
html = questionsTags + answersTags + "</fieldset>";
formTagArr.push(html);
}
}

function displayForm(arr) {
if (arr.length === 0) {
return false;
}
var info = arr.pop();
$("#question-form").append(info[0]);
}
});

/some_url/返回这个 JSON:

[{"qid": 4, "question": "How many legs does a spider have?", "answers": ["4", "6", "8", "10"]}, {"qid": 2, "question": "When did Nigeria become a republic?", "answers": ["1960", "1961", "1962", "1963"]}, {"qid": 1, "question": "When did Nigeria gain independence?", "answers": ["1960", "1961", "1962", "1963"]}, {"qid": 3, "question": "How many days are in a leap year?", "answers": ["360", "362", "365", "366"]}]

和 console.log(formTagArr);在上面的代码中返回:

["<fieldset><p>How many l...e='10' />10\n</fieldset>", "<fieldset><p>When did N...963' />1963\n</fieldset>", "<fieldset><p>When did N...963' />1963\n</fieldset>", "<fieldset><p>How many d...'366' />366\n</fieldset>", undefined]

因此,displayForm() 失败,因为信息未定义。当然,我可以只使用条件来跳过 undefined object ,但我想确切地知道 undefined object 首先是如何到达那里的。
我做错了什么?

最佳答案

formTagArr.push(buildForm(data));

您的 buildForm 函数不返回任何内容,上面的代码试图将该函数的结果压入数组。没有 return 语句的函数将以未定义结束。

似乎只是应该的

buildForm(data)

因为这个函数已经被推送到 formTagArr 数组。

关于javascript - 在 `array.push` 向其添加一些字符串后,数组会附加 undefined 。那是正常的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10315418/

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