如何将数组放入数组

时间:2018-08-20 12:52:49

标签: javascript arrays

我有一个要从后端获取的数组,例如

["[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]]   

所以我怎样才能得到这种类型的数组和更多的项目。

2 个答案:

答案 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