javascript - 如何在javascript中从字符串转换为数组?
问题描述
因此,我正在使用 document.getElementById 读取一些数据,该数据已经是一个数组。但是当我读取它时,它会导致插入一个字符串。
我正在使用 document.getElementById('clients').value,显然这会返回一个字符串,而我想获得一个数组。
var clients = [];
clients = document.getElementById("clients").value;
alert(clients);
console.log(clients);
for(var i =0; i < clients.length; i++){
var client = clients[i].toString().split(',');
alert(client);
}
//console.log(clients) gets:
["[['1'", " 'client1']", " ['2'", " 'client2']", " ['3'", " 'client3']]"]
当我从 for 循环中提醒客户端时,我会一一获取客户端中找到的每个字符。虽然我想得到一个对象来拆分它。提前非常感谢。
解决方案
我有这样的东西: [['1', 'client1'], ['2', 'client2'], ['3', 'client3']] 并想得到:1 - client1 .... .
.value
应该是有效的JSON
or RegExp
orString
方法需要用于将 invalid 转换JSON
为 valid JSON
。请注意 HTML 属性中的单引号包围值和属性值内的双引号
[["1", "client1"], ["2", "client2"], ["3", "client3"]]
然后,您可以使用JSON.parse()
将JSON
字符串转换为 JavaScript 对象并使用for..of
循环来迭代每个嵌套数组的每个元素。
let value = JSON.parse(clients.value);
for (let [a, b] of value) {
console.log(a, b)
}
<input id="clients" value='[["1", "client1"], ["2", "client2"], ["3", "client3"]]'>
推荐阅读
- azure-devops - Azure 管道自托管代理 - 是否应该有单独的用户来构建和部署?
- mysql - SQL:只要有 5 的倍数就增加一个新列,否则不要
- c# - PowerPDF API - 将 VB 代码转换为 C# - 错误 HRESULT E_FAIL
- python - 在python中将数据提取到矩阵或numpy数组中的有效方法
- scala - 如何解决不同版本的传递依赖?
- c++ - 在程序中找到最小的变量?
- python - 'str' 对象没有属性 'decode' 错误
- c++ - sdl2中的矩形为整个屏幕设置颜色
- python-3.x - m1 macOS Big Sur 上的 pygame 2.0.0 安装错误
- neo4j - Periodic commit through bolt port in neo4j (java driver)