我有一个要从后端获取的数组,例如
["[a,b,c],[c,d,e],[e,f,g]"]
我正在
中使用此数组<div id="op1">{{$option}}</div>
现在,当我使用javascript访问它时,我想在其中添加更多项目
document.getElementById('op1').innerHTML
并将其添加到数组中
var options=[document.getElementById('op1').innerHTML];
,当我使用
打印时console.log(options)
它告诉我
["[a,b,c],[b,c,d],[e,f,g]"]
以外的数组类型
[[a,b,c],[b,c,d],[e,f,g]]
所以我怎样才能得到这种类型的数组和更多的项目。
答案 0 :(得分:1)
我不确定该答案是否是最佳解决方案,但我尝试提供一种几乎符合您要求的解决方案:
var arr = ["[a,b,c],[b,c,d],[e,f,g]"];
var res = [];
arr[0].split('[').forEach((splitVal) => {
if (splitVal) {
var arrInner = [];
var commaSplit = splitVal.split(',');
commaSplit.forEach((commaSplitVal) => {
if (commaSplitVal) {
arrInner.push(commaSplitVal.replace(']', ''));
}
});
res.push(arrInner);
}
});
console.log(res);
答案 1 :(得分:0)
在["[a,b,c],[c,d,e],[e,f,g]"]
上方指定的数据状态是一个包含一个项目的JS数组,它是一个字符串。该字符串包含逗号分隔的数组列表。
您可以使用String.prototype.split
通过类似这样的分隔符将字符串分成数组
var options=[document.getElementById('op1').innerHTML];
var arrayYouWant = options.map(item => item.split(','));
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split