gpt4 book ai didi

javascript - 将对象插入数组后,数组中的每个对象都具有相同的值

转载 作者:行者123 更新时间:2023-12-01 03:29:38 25 4
gpt4 key购买 nike

我在使用此功能时遇到问题。当我将对象插入数组时,这是可以的,但是当我检索存储的对象时,每个对象都有相同的值。

function saveDetails() {
var details = [];
var productDetails = {};
var id = $('#ddlDeliveryBoy option:selected').val();
var count = $('#tbCustomer tbody tr').length;
for (var index = 0; index < count; index++) {
var tr = $('#tbCustomer tbody tr')[index];
var countTD = $(tr).children('td').length - 4;
for (var j = 3; j < (countTD + 4); j++) {
var td = $(tr).children('td')[j];
var txt = $(td).find('input[type="text"]');
if ($.isNumeric(txt.val())) {
productDetails.CustomerID = $(tr).data('id');
productDetails.ProductID = $(td).data('id');
productDetails.Quantity = parseFloat(txt.val()).toFixed(2);
details.push(productDetails);
}
}
}
console.log(details);
}

最佳答案

您需要将productDetails初始化移到if循环内。这是代码。

function saveDetails() {
var details = [];
var id = $('#ddlDeliveryBoy option:selected').val();
var count = $('#tbCustomer tbody tr').length;
for (var index = 0; index < count; index++) {
var tr = $('#tbCustomer tbody tr')[index];
var countTD = $(tr).children('td').length - 4;
for (var j = 3; j < (countTD + 4); j++) {
var td = $(tr).children('td')[j];
var txt = $(td).find('input[type="text"]');
if ($.isNumeric(txt.val())) {
let productDetails = {};
productDetails.CustomerID = $(tr).data('id');
productDetails.ProductID = $(td).data('id');
productDetails.Quantity = parseFloat(txt.val()).toFixed(2);
details.push(productDetails);
}
}
}
console.log(details);
}

关于javascript - 将对象插入数组后,数组中的每个对象都具有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601069/

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