如何在for循环外部获取cartonIRBar全部结果且不移入debug语句?
解决嵌套循环仅保留最后一条数据的问题
你当前的代码里,kartonReceipt是普通变量,每次循环都会被新值覆盖,所以循环结束后它只保存最后一次赋值的内容。要在不把log.debug移入循环的前提下获取所有结果,你可以用数组来存储每一条数据:
// 声明空数组存储所有结果 var kartonReceiptList = []; for (var b = 0; b < parseDataArr.length; b++) { for (var c = 0; c < parseDataArr[b].data_item.length; c++) { for (var d = 0; d < parseDataArr[b].data_item[c].data_receipt.length; d++) { // 将每条cartonIRBar追加到数组中 kartonReceiptList.push(parseDataArr[b].data_item[c].data_receipt[d].cartonIRBar); } } } // 打印整个数组,即可获取所有结果 log.debug('carton for', kartonReceiptList);
说明
- 用数组
kartonReceiptList替代单个变量,通过push()方法在循环中收集每一条cartonIRBar数据 - 循环结束后,数组会包含所有遍历到的结果,此时打印数组就能输出全部内容
内容的提问来源于stack exchange,提问作者antechf11
相关产品推荐
相关产品推荐

