转换为字符串格式

时间:2018-06-28 10:37:39

标签: javascript jquery

我有一个类似

的字符串
[ "Basic, JavaScript, PHP, Scala" ]

如何将其转换为

[ 'Basic', 'JavaScript', 'PHP', 'Scala' ]

代码

function loadDataToGridChiefComplaint() {
  var tHRNo = document.getElementById("lblpthrno").value;
  var tOPDNo = document.getElementById("lblptopd").value;
  var localKeyChief = tHRNo + '-' + tOPDNo + '-ChiefComplaint';
  var a = localStorage.getItem(localKeyChief);
  var Item = JSON.stringify(a); // it show like ["Basic, JavaScript, PHP, Scala"]
}

2 个答案:

答案 0 :(得分:2)

JSON.stringify()返回一个字符串,因此您的问题不正确。项不是数组。

const Item = '["Basic, JavaScript, PHP, Scala"]';

因此,您不应使用它。相反,只需在函数中返回数组a

function loadDataToGridChiefComplaint() {
  var tHRNo = document.getElementById("lblpthrno").value;
  var tOPDNo = document.getElementById("lblptopd").value;
  var localKeyChief = tHRNo + '-' + tOPDNo + '-ChiefComplaint';
  return localStorage.getItem(localKeyChief); // <-- no use of JSON.stringify()
}

通过这种方式loadDataToGridChiefComplaint()是数组["Basic, JavaScript, PHP, Scala"],它具有类型String的单个元素,您可以使用括号符号Item[0]来访问它:

const Item = ["Basic, JavaScript, PHP, Scala"];
console.log(Item[0]);

因此,为了将字符串Item[0]转换为数组,请使用.split方法:

  

String.split(separator)

     

split()方法通过使用指定的分隔符字符串确定将每个字符串拆分为子字符串的方式,通过将字符串对象拆分为子字符串,将String对象拆分为字符串数组。

     

MDN Web Docs

const Item = ["Basic, JavaScript, PHP, Scala"];
console.log(Item[0].split(', '));


如果您无法修改此函数,则可以使用JSON.stringify的相反操作(即JSON.parse)将字符串转换回数组:

const ItemString = '["Basic, JavaScript, PHP, Scala"]';
ItemArray = JSON.parse(ItemString);

然后使用.split(如前面的示例)获取字符串数组。

答案 1 :(得分:0)

尝试一下:

var Item = ["Basic, JavaScript, PHP, Scala"];

// Do like this

var array = Item[0].split(', '); // Split with Comma and space(for trim whitespace)

// Or Like this

var array = Item[0].split(',').map(i => i.trim()) // Split with comma and use map to trim whitespace

console.log(array);