【问题标题】:How to make javascript turn a multidimensional array into a string?如何让javascript将多维数组变成字符串?
【发布时间】:2018-08-28 15:48:41
【问题描述】:

我在 javascript 中有一个多维数组,我希望能够在保留括号的同时将其转换为字符串。我查看了其他问题,例如javascript - Convert array to string while preserving brackets,但那里的答案对我没有多大帮助。

我的数组可能如下所示:

[[[0,0,1],1],[[1,0,0],4],[[1,0,1],5], [[0,1,1],3],[[1,1,0],6],[[0,1,0],2]]

当我打印我看到的数组时:

0,0,1,1,1,0,0,4,1,0,1,5,0,1,1,3,1,1,0,6,0,1,0,2

我期望的输出是原始数组的样子。

我也试过下面的代码:

alert("[[" + myArray.join("],[") + "]]");

这几乎适用于所有事情,我得到以下输出:

[[0,0,1,1],[1,0,0,4],[1,0,1,5], ...

我想看看原始数组在括号中的样子。我也想远离 JSON.stringify();和 JSON.parse();

【问题讨论】:

  • 问题不清楚,您提供的输入和期望的输出是什么?为什么不使用JSON.stringify
  • 我会做一个BFS 函数。
  • 看来JSON.stringify 会提供您正在寻找的东西,能够看到带有括号的数组的样子。为什么要避免JSON.stringify
  • 如果你的数组结构正确,JSON.stringify()JSON.parse() 就是你所描述的。
  • @DMVerfurth, JSON.parse 在字符串化数组上会将其转换回数组(使用包含 0 的简单嵌套数组):Array.isArray(JSON.parse(JSON.stringify([[0]])))

标签: javascript arrays multidimensional-array


【解决方案1】:

JSON.stringify()JSON.parse() 将完全按照您的要求进行。试试看:

var arr = [[[0,0,1],1],[[1,0,0],4],[[1,0,1],5], [[0,1,1],3],[[1,1,0],6],[[0,1,0],2]];
var str = JSON.stringify(arr);
alert(str);
var parsed = JSON.parse(str);
alert(parsed);
console.log(parsed);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2020-06-15
    相关资源
    最近更新 更多