Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JSON的数组推送_Javascript_Json - Fatal编程技术网

Javascript 使用JSON的数组推送

Javascript 使用JSON的数组推送,javascript,json,Javascript,Json,有人能告诉我为什么打印117到300的数字吗 var x = [12, 55, 177]; var y = [25, 75, 255]; var value = []; for (var i = 1; i <= 300; i++) { value.push(JSON.stringify(i)); document.write(value); } ​ (jsFiddle)之所以这样做,是因为document.write()是一种不应该使用的旧的讨厌的黑客,并且与jsFid

有人能告诉我为什么打印117到300的数字吗

var x = [12, 55, 177];
var y = [25, 75, 255];
var value = [];

for (var i = 1; i <= 300; i++) {
    value.push(JSON.stringify(i));
    document.write(value);
} ​

(jsFiddle)

之所以这样做,是因为
document.write()
是一种不应该使用的旧的讨厌的黑客,并且与jsFiddle不兼容

如果将其从循环中删除并添加:

console.log(value);
最后,您将看到数组已正确累积

此外,您可能只希望在构建阵列后对其进行JSON编码:

var value = [];
for (var i = 1; i <= 300; i++) {
    value.push(i);
} 
console.log(JSON.stringify(value));
var值=[];

对于(var i=1;i它之所以这样做,是因为
document.write()
是一个不应该使用的旧的讨厌的黑客,并且与JSFIDLE不兼容

如果将其从循环中删除并添加:

console.log(value);
最后,您将看到数组已正确累积

此外,您可能只希望在构建阵列后对其进行JSON编码:

var value = [];
for (var i = 1; i <= 300; i++) {
    value.push(i);
} 
console.log(JSON.stringify(value));
var值=[];

对于(var i=1;i只需将数组打印移到循环之外,它就会工作:

var x = [12, 55, 177];
var y = [25, 75, 255];
var value = [];

for (var i = 1; i <= 300; i++) {
    value.push(JSON.stringify(i));             
} 

document.write(value);
​
var x=[12,55,177];
变量y=[25,75,255];
var值=[];

对于(var i=1;i只需将数组打印移到循环之外,它就会工作:

var x = [12, 55, 177];
var y = [25, 75, 255];
var value = [];

for (var i = 1; i <= 300; i++) {
    value.push(JSON.stringify(i));             
} 

document.write(value);
​
var x=[12,55,177];
变量y=[25,75,255];
var值=[];

对于(var i=1;i首先,这与
array.push
或JSON.:-)无关

首先,您的代码不会输出
117118
,等等。这就是Chrome为您显示的方式。您似乎在Chrome中遇到了一些内部限制或错误,这些限制或错误与没有空格的行有关。在Firefox中,它不会这样做

基本上,您的代码是重复输出数组,没有任何换行符

1 …在第三个,您输出
1,2,3

11,21,2,3 …很好地输出

1 1,2 1,2,3 1,2,3,4 1,2,3,4,5 1,2,3,4,5,6 1,2,3,4,5,6,7 1,2,3,4,5,6,7,8 1,2,3,4,5,6,7,8,9 1. 1,2 1,2,3 1,2,3,4 1,2,3,4,5 1,2,3,4,5,6 1,2,3,4,5,6,7 1,2,3,4,5,6,7,8 1,2,3,4,5,6,7,8,9 ……等等

console.log
对于在处理东西时查看事物的状态也非常有用。所有最新主流浏览器的开发工具都支持它


还请注意,我已经删除了
JSON.stringify
;所做的只是返回索引计数器的字符串版本,在输出中,数组中的数字是真正的数字还是字符串并不重要。

首先,这与
数组无关。推送
或JSON.:-)

首先,您的代码不会输出
117118
,等等。这就是Chrome为您显示的方式。您似乎在Chrome中遇到了一些内部限制或错误,这些限制或错误与没有空格的行有关。在Firefox中,它不会这样做

基本上,您的代码是重复输出数组,没有任何换行符

1 …在第三个,您输出
1,2,3

11,21,2,3 …很好地输出

1 1,2 1,2,3 1,2,3,4 1,2,3,4,5 1,2,3,4,5,6 1,2,3,4,5,6,7 1,2,3,4,5,6,7,8 1,2,3,4,5,6,7,8,9 1. 1,2 1,2,3 1,2,3,4 1,2,3,4,5 1,2,3,4,5,6 1,2,3,4,5,6,7 1,2,3,4,5,6,7,8 1,2,3,4,5,6,7,8,9 ……等等

console.log
对于在处理东西时查看事物的状态也非常有用。所有最新主流浏览器的开发工具都支持它


还要注意的是,我已经删除了JSON.stringify;所做的只是返回索引计数器的字符串版本,在输出中,数组中的数字是真正的数字还是字符串并不重要。

x和y变量是关于什么的?Pro提示:如果要了解代码的功能,请使用调试器。Th有一个内置在浏览器中。x和y变量是关于什么的?专业提示:如果你想知道你的代码是做什么的,请使用调试器。浏览器中有一个内置的调试器。虽然
document.write
确实不理想,但问题不是与jsFiddle不兼容;我只是用一个独立的文件尝试了这一点,它真的很稳定rts与177;关于有一条很长的线或某事……令我惊讶的是,JSFIDLE似乎适合
文档。编写
:问题在于(除此之外,代码几乎肯定不是OP想要的)似乎是一个Chrome bug,在一个非常长的行中,
document.write
没有创建空白。虽然
document.write
确实不理想,但问题不是与JSFIDLE不兼容;我只是用一个独立的文件尝试了一下,它实际上是从177开始的;关于拥有一个真正的让我惊讶的是,jsFiddle似乎很适合
文档。write
:问题(除了代码几乎肯定不是OP想要的)似乎是一个Chrome bug,它位于非常长的行的边缘,文档中没有空白。write