[英]javascript array push empty keys and values
我正在創建一個應用程序,它將循環所有必要的字段並存儲為對象,並將其通過http傳遞給后端。
我在循環時使用數組推將其添加到對象中。
這是JS中的代碼。
JS
var form_data_body = [];
for (var k = 0; k < $scope.Tablelist.length; k++) {
if ($scope.Tablelist[k].selected == true) {
if ($scope.Tablelist[k].approve == "Y") {
var Suppno = $scope.Tablelist[k].supp_no;
var Price = $scope.Tablelist[k].unit_price;
if (Suppno != "") {
if (suppliersebelum == "") {
suppliersebelum = Suppno;
} else {
if (suppliersebelum != Suppno) {
continue;
}
}
if (Price > 0) {
var Matcode = $scope.Tablelist[k].matcode;
var Poqty = $scope.Tablelist[k].pr_qty;
var Prprice = $scope.Tablelist[k].unit_price;
var Priceid = $scope.Tablelist[k].price_id;
var Dept = $scope.Tablelist[k].req_dept;
var Refno = $scope.Tablelist[k].reff;
var ReqDate = $filter('date')(new Date($scope.Tablelist[k].date_req), 'yyyy-MM-dd');
var Tanggal = $filter('date')(new Date(), 'yyyy-MM-dd');
console.log(k);
form_data_body.push = {
matcode: Matcode, po_qty: Poqty, unit_price: Prprice, etd_date: ReqDate, dept_no: Dept,
priceid: Priceid, ref_no: Refno
};
}
} else {
console.log("failed");
}
} else {
console.log("failed");
}
}
}
console.log(Object.keys(form_data_body).length);
console.log(JSON.stringify(form_data_body));
當我單擊按鈕時,上面的那些代碼將被觸發,並通過一個列表,但是無論滿足多少條件, onsole.log(Object.keys(form_data_body).length);
將顯示1
和console.log(JSON.stringify(form_data_body));
將顯示[]
和console.log(k);
將顯示循環數。
導致它無法推送到form_data_body
對象的代碼是否存在問題?
替換此行
form_data_body.push = {
matcode: Matcode, po_qty: Poqty, unit_price: Prprice, etd_date: ReqDate, dept_no: Dept,
priceid: Priceid, ref_no: Refno
};
與
form_data_body.push ( {
matcode: Matcode, po_qty: Poqty, unit_price: Prprice, etd_date: ReqDate, dept_no: Dept,
priceid: Priceid, ref_no: Refno
});
推送是一種將項目作為參數而不是賦值的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.