我有字符串数据[2]在测试中是“6766 44 9 19904 7772 13323 245 14 221”并尝试使用下面的代码将其转换为数组
console.log(typeof(data[2]),data[2].length,data[2]);
con = data[2].trim().split("\\s+"); // i.e. 66 44 9 19904 7772 13323 245 14 221
console.log(typeof(con),con.length,con);
但是要低于对象,请咨询
string 38 6766 44 9 19904 7772 13323 245 14 221
object 1 ["6766 44 9 19904 7772 13323 245 14 221"]
答案 0 :(得分:9)
您正在尝试使用字符串来分割而不是正则表达式:
将<td>
更改为.split("\\s+")
。
对于数组,.split(/\s+/g)
操作将返回typeof
,因此您实际上看到的是包含单个项目的数组,这就是您的计数错误的原因。
如果要检查对象是否为数组,请使用"object"
或兼容性:
Array.isArray
答案 1 :(得分:4)
这是不正确的,因为你用字符串分割但可以使用正则表达式:
con = data[2].trim().split("\\s+");
可能是
con = data[2].trim().split(/\s+/);