我有一个数组,其中包含HTML中的数组作为字符串
<div id='foo'>['A', 'B', [['C', 1, 2]]]</div>
我想要的
var myArray = ['A', 'B', [['C', 1, 2]]];
我一直在尝试使用$("#foo").text();
之类的东西来抓取它,然后将其转换为Javascript变量。通常,我只使用data.split(',')
,但是对于子数组,事情变得一团糟。我不想使用eval()
。如何将该字符串转换为js数组?
答案 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。您是否真的需要将其作为数组或字符串?