JavaScript 数组无法正确打印到控制台
javascript array not printing to console properly
我正在将一些日期放入数组中,并希望在该数组中拥有与该日期关联的订单号。它似乎工作正常,但是当我在chrome控制台中打印出数组时,我只看到第一个日期数组。如果我手动访问console.log(dateArray[1]['order_number']);
,我会看到预期的信息。我没有正确构造这个数组吗?
谢谢!
for ( var u in valuesArr ) {
//store the text seperator between the information and the order it is associated with
var sep = "?order_num=";
//store the string from which the information and order number will be extracted
var str = valuesArr[u];
//location of seperator
var start = str.indexOf("?order_num=");
var order_number = str.substring(start+sep.length);
var current_date = valuesArr[u].substring(0, start);
//date goes into "current_date" array
current_date = current_date.split(" / ");
//fashion it into a javascript date
//month needs one subtracted
dateArray[u] = new Date ( current_date[2], current_date[0]-1, current_date[1]);
/*
*to identify from which order this date derives, an order_number slot is created
*underneath the sorted date slot
*this is done so that when the html is reformatted to re-order the dates
*the content associated with this date can be 'brought along with' it
*as the its parent div's id contains the order number
*/
dateArray[u]['order_number'] = order_number;
}
console.log(dateArray)//only outputs the array of dates
console.log(dateArray[1]['order_number']);//outputs the order number
你对dateArray[u]['order_number'] = order_number;
所做的是向 Date 对象添加一个属性,而不是向数组添加一个元素。
要将元素添加到数组,请使用:
dateArray[u][1] = order_number;
不要隐式信任开发人员控制台。没有"正确"的印刷,因为没有标准。
如果 Chrome 决定不在对象上显示自定义属性,则由 Chrome 决定。只要你的价值通过显式测试被证明存在,这才是最重要的。
FWIW,您可能会获得更理想的结果...
console.dir(dateArray)
console.dir
方法将为您提供可展开的对象,以便您可以向下钻取并查看自定义属性。
如果valuesArr
是一个数组,那么使用for (... in ...)
将失败,因为这会进行对象迭代,因此会抓取数组的许多其他元素,如length
、indexOf
等。
尝试改用传统的for
循环:
for (var i = 0; i < valuesArr.length; i++) {
// ...
}
相关文章:
- 按压“;输入“;将值打印到控制台日志
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 打印javascript控制台的堆栈跟踪
- 打印到控制台时为NaN,但typeof为数字jquery
- 为什么控制台.log(true,' ')打印真“ ”
- system.err风格的控制台以javascript打印
- 如何做if/else语句并使用控制台.log打印出来
- 谷歌浏览器控制台,打印图像
- Grails:多个加载ajax调用,但只有一个打印到控制台
- page.evaluate() 未打印控制台消息
- 它将打印控制台.log(1+ + “2”)
- Selenium NodeJS将cookie打印到控制台
- 使用javascript在HTML的输出窗口中打印控制台消息
- 如何将52个随机生成的数字打印到控制台
- jQuery显示函数打印到控制台
- 如何在控制台.log中打印 JSON 数据
- js 如何将对象名称打印到控制台
- 打印机.js未打印到控制台
- Node.js打印控制台输出两次
- 否则,如果不打印控制台值