javascript - JavaScript 对象推送到数组但无法正常工作
问题描述
我正在运行一个函数,该函数需要从 API 获取数据并将其推送到一个数组中,该数组在单元循环中使用
var newArray = [];
units.forEach((value) => {
var discount = [];
axios.get(baseApi() + `GetAllDiscounts?intUnitTypeId=${value.UnitTypeId}`, {
headers: { 'Content-Type': 'application/xml; charset=utf-8', 'Access-Control-Allow-Origin': '*' }
}).then(response => {
parseString(response.data, function (err, result) {
result.SSM.Record.forEach(function (content) {
if (content.DonotDisplay[0] === "False") {
discount.push({
discount_id: content.DISCOUNTID[0],
description: content.DISCOUNTNAME[0],
amount: content.Value[0],
typeText: content.CUSTOMERTYPE[0],
type: content.Type[0]
})
}
})
})
}).catch(error => { console.log(error) })
console.log(discount)
newArray.push({
"ApproximateSize": value.ApproximateSize,
"Breadth": value.Breadth,
"CategoryName": value.CategoryName,
"Discount": value.Discount,
"InternetPrice": Math.round(value.InternetPrice),
"InternetPriceAvailable": value.InternetPriceAvailable,
"IsAvailable": value.IsAvailable,
"Length": value.Length,
"Rent": Math.round(value.Rent),
"UnitTypeCode": value.UnitTypeCode,
"UnitTypeDescription": value.UnitTypeDescription,
"UnitTypeDetailedDescription": value.UnitTypeDetailedDescription,
"UnitTypeId": value.UnitTypeId,
// "discount_id": discount[0].discount_id,
// "description": discount[0].description,
// "amount": discount[0].amount,
// "type": discount[0].type,
})
});
折扣数组的结果是 [] 但是当我打开数组时它包含一个对象我也检查长度它显示 0 但它包含一个数组。
注意:我需要每个单元的 api 信号对象
解决方案
很难说出你在问什么。但是,更好的调试可能会帮助您了解发生了什么。以下是一些提示:
- 当你 console.log 一个数组时,控制台只显示对该数组的引用,所以如果它被修改,控制台也会更新。如果您想查看它在某个时间点的样子,一个技巧是将其转换为 json 并返回
console.log(JSON.parse(JSON.stringify(discount)))
- 如果您想在某个时间点检查多个变量以查看发生了什么,您可以设置断点或放入
debugger;
代码以激活 chrome 的调试器。 - 逐步检查您的代码并在每个阶段添加控制台日志,以验证数据是否符合您的预期。
推荐阅读
- php - Laravel 将数据插入到具有 2 个“BelongsTo”的表中
- ms-access - 如何完全忽略 MS Access 错误 2113?
- python - Python json.tool 可以用来检测重复的键吗?
- react-native - TypeError: undefined is not an object (评估 ExpoFontLoader.loadAsync)
- javascript - 如何等到所有商店都在 ExtJs 中同步?
- swift - 从另一个类调用选择器 - Swift 3
- php - 如何使用 php 在 google 我的业务页面上创建本地帖子
- c# - 使用Newtonsoft JsonConvert对简单类进行序列化和反序列化
- python - 滚动条在 pyside2 中隐藏我的 Qframe 小部件
- django - DRF:如何验证嵌套序列化程序的字段?