将字符串格式的矩阵转换为Javascript数组

时间:2019-02-20 23:26:05

标签: javascript arrays

我有一个数组,其中包含HTML中的数组作为字符串

<div id='foo'>['A', 'B', [['C', 1, 2]]]</div>

我想要的

var myArray = ['A', 'B', [['C', 1, 2]]];

我一直在尝试使用$("#foo").text();之类的东西来抓取它,然后将其转换为Javascript变量。通常,我只使用data.split(','),但是对于子数组,事情变得一团糟。我不想使用eval()。如何将该字符串转换为js数组?

2 个答案:

答案 0 :(得分:4)

将单引号替换为双引号,并在字符串上使用JSON.parse()转换为数组:

const result = JSON.parse(document.querySelector('#foo')
  .innerText
  .replace(/'/g, '"'));
  
  
console.log(result)
<div id='foo'>['A', 'B', [['C', 1, 2]]]</div>

答案 1 :(得分:-3)

var myArray = $('#foo').textContent

将以字符串形式获取值并将其放入变量中。确实意识到这不会将其转换为Array。您是否真的需要将其作为数组或字符串?