簡體   English   中英

數組到字符串的轉換不起作用

[英]Array to string conversion not working

我正在嘗試以字符串形式打印此代碼。

var x = [[1, 2, 3, 4.5, 6], [7, 8.5, 9.5, 10]];`
console.log(x.toString());

這就是所顯示的。

字符串數組

當我打印出常規字符串時,就像這樣-

console.log(x);

這是顯示出來的-

數組

有什么辦法可以打印出帶有方括號的字符串? 我希望結果是類似"[[1, 2, 3, 4.5, 6], [7, 8.5, 9.5, 10]]"

我需要將此值添加到一個eval函數,這就是為什么我需要將整個數組(帶有括號的字符串)添加到該函數的原因。

有什么辦法可以做到(最好沒有額外的庫)?

使用JSON.stringify將數組轉換為JSON數組。

var x = [[1, 2, 3, 4.5, 6], [7, 8.5, 9.5, 10]];
console.log(JSON.stringify(x));
// [[1,2,3,4.5,6],[7,8.5,9.5,10]]

您可以將Array#map與字符串連接一起使用。

'[' + x.map(e => '[' + e + ']') + ']'

 var x = [ [1, 2, 3, 4.5, 6], [7, 8.5, 9.5, 10] ]; var string = '[' + x.map(e => '[' + e + ']') + ']'; console.log(string); document.body.innerHTML = string; 

如果主數組的元素不總是數組 ,則Array.isArray可以與三元運算符一起使用。

'[' + x.map(e => Array.isArray(e) ? '[' + e + ']' : e) + ']'

 var x = [ [1, 2, 3, 4.5, 6], [7, 8.5, 9.5, 10], 'name', 10 ]; var string = '[' + x.map(e => Array.isArray(e) ? '[' + e + ']' : e) + ']'; console.log(string); document.body.innerHTML = string; 

您可以使用JSON.stringify()將x序列化為字符串。

console.log(JSON.stringify(x))將返回您要查找的內容。

 console.log(JSON.stringify(x))
 [[1,2,3,4.5,6],[7,8.5,9.5,10]]

最好的方法是使用json.stringify()方法。JSON.stringify()方法將JavaScript值轉換為JSON字符串,如果指定了replacer函數,則可以選擇替換值,如果替換器,則可以僅包括指定的屬性。指定了數組。 可能下面的網址可以幫助您獲得完整的參考。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM