javascript – JSON.stringify(参数)发生了什么?

前端之家收集整理的这篇文章主要介绍了javascript – JSON.stringify(参数)发生了什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

为什么没有参数stringify到数组?

是否有一种不那么冗长的方式使参数stringify像一个数组?

function wtf(){
  console.log(JSON.stringify(arguments));
  // the ugly workaround
  console.log(JSON.stringify(Array.prototype.slice.call(arguments)));
}

wtf(1,2,3,4);
-->
{"0":1,"1":2,"2":3,"3":4}
[1,4]


wtf.apply(null,[1,4]);
-->
{"0":1,4]

http://jsfiddle.net/w7SQF/

这不仅仅是在控制台中观看.我们的想法是,字符串在ajax请求中使用,然后另一方解析它,并且想要一个数组,但却获得了其他东西.

最佳答案
这种情况正在发生,因为参数不是数组,而是array-like object.您的解决方法是将其转换为实际数组. JSON.stringify的行为与此处的设计相同,但它不是很直观.
原文链接:https://www.f2er.com/js/429783.html

猜你在找的JavaScript相关文章