将字符串格式的数组加载到数组中

时间:2019-07-03 06:55:37

标签: javascript

我从数据库中获取了一组字符串格式的数组,如

  

[“#464b4e”,“#7ebcbd”],[“#747493”,“#f5f6f7”],[“#58383c”,“#8d8566”]

现在我需要将它们加载到数组中以组成数组数组。使用此代码

        let imgIndicators = [];
        imgIndicators.push( obj[i]['dicatorsbg']);
        console.log(imgIndicators);

正在创建类似

的数组
["["#464b4e","#7ebcbd"], ["#747493","#f5f6f7"], ["#58383c","#8d8566"]"]

如您所见,它是一个大的长字符串项目,所以我尝试用,分割数据,例如

imgIndicators.push( obj[i]['dicatorsbg'].split(','));

这次代码将接受所有,并创建一个由6个字符串元素组成的数组,如

 ["["#464b4e"", ""#7ebcbd"]", " ["#747493"", ""#f5f6f7"]", " ["#58383c"", ""#8d8566"]"]

如何修复此代码以创建类似的内容?

 [
   ["#464b4e", "#7ebcbd"], 
   ["#747493", "#f5f6f7"], 
   ["#58383c", "#8d8566"]
]

2 个答案:

答案 0 :(得分:2)

如果您确实确定格式正确无误,则可以尝试:

imgIndicators = JSON.parse("[" + obj[i]['dicatorsbg'] + "]");

答案 1 :(得分:0)

这很简单,您必须使用 JSON.parse(),如下所示,这将为您提供所需的结果。

//your db output string 
var yourStringArray = '["#464b4e","#7ebcbd"], ["#747493","#f5f6f7"], ["#58383c","#8d8566"]' ; 

// the array you want
var requiredArray = JSON.parse("[" + yourStringArray + "]");

有关此线程问题,可以找到更多解决方案:Elegant way to convert string of Array of Arrays into a Javascript array of arrays