如何在 Javascript 中将项目添加到空数组
How to add items to an empty array in Javascript
Controller 为一个帧发送一个 JSON。我需要继续增加添加多帧分数的数组。例如
帧分数 = f1 + f2 +.. lastF
问题 不会添加值,仅显示每个帧的数据。我哪里做错了?
var bowlingData = {
"frames": []
};
var frames = [];
$('#submitButton').click(function(e) {
frames.push([$("#FirstRoll").val(), $("#SecondRoll").val()]);
for (var ln = 0; ln < frames.length; ln++) {
var temp = {
"firstroll": $("#FirstRoll").val(),
"secondroll": $("#SecondRoll").val()
};
bowlingData.frames.push(temp);
}
console.log("temp data: " + temp);
bowlingData.frames.push(temp);
var element = this;
$.ajax({
url: "/Home/Submit",
type: "POST",
data: JSON.stringify(bowlingData),
dataType: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
success: function(data) {
var parseData = JSON.parse(data);
console.log("MyDate: " + data.score);
console.log("Parse" + parseData);
$("#lblTotalScore").text(parseData.score);
$("#FirstRoll").val("");
$("#SecondRoll").val("");
},
error: function() {
alert("An error has occured!!!");
}
});
});
显然解决方案是
var frameArray= [];
frameArray.push("#FirstRoll");
frameArray.push("#SecondRoll");
但那是将单个元素添加到数组中。如果输入是 [[2, 3],[4, 5],...],则JSON
对象表示为
{ "frames": [{"first": 2, "second": 3}, {"first": 4, "second": 5}, ... ] }
但是,还有一个问题,即无法从控制器获得正确的响应。
这里的问题是创建了一个空数组(即帧),并且在第 3 行将值固定到空Array
。尽管 for 循环将每个元素添加到Array
(即帧),但是当创建响应时,最近的输入正在替换以前的输入,因为JSON
对象 bowlingData 仅保存临时数据。因此,无需创建任何Array
来递增多个输入结果。初始值将由浏览器保留,第二个输入将在下次提交时添加。
是
var frames = [];
$('#submitButton').click(function(e) {
frames.push([$("#FirstRoll").val(), $("#SecondRoll").val()]);
for (var ln = 0; ln < frames.length; ln++) {
var temp = {
"firstroll": $("#FirstRoll").val(),
"secondroll": $("#SecondRoll").val()
};
bowlingData.frames.push(temp);
}
应该是
$('#submitButton').click(function (e) {
bowlingData.frames.push({
"firstroll": $("#FirstRoll").val(),
"secondroll": $("#SecondRoll").val()
});
相关文章:
- 在函数中添加数组元素的数值
- 在Codrops的内容中添加数组元素展开缩略图网格预览
- 在javascript中动态添加数组数组
- 在 javascript 中添加数组到数组
- 如何使用推送在 JavaScript 中添加数组值
- 设置和添加数组值javascript时出现问题
- 使用 JavaScript 添加数组对象
- 将文件转换为数组并使用数据列表和选项标签为自动完成文本框添加数组元素
- 单击时将值推送到数组,然后循环添加数组值.Javascript
- 如何使用 JavaScript 更新或添加数组中的值
- 在窗体中动态添加数组文本框
- 在 javascript 中添加数组和对象会产生错误
- 如何在JavaScript中更新/添加数组的元素
- 在JavaScript中添加数组中的值
- 通过for循环添加数组值
- 如何在HTML中从Javascript添加数组的滚动列表
- Vaildate动态添加数组输入-jQuery Validate
- 在HighChart android中添加数组数据
- AngularJS:防止再次添加数组中已有的项
- 添加数组元素到现有的javascript数组