如何转换" 000000111111111110000000000000000000000001111111"成为一组数字,如[0,0,0,...,1,1]。
我尝试过没有成功:
eval('[' + string + ']')
和
JSON.parse('[' + string + ']')
答案 0 :(得分:2)
这样的事情应该有效。
var a = [];
var s = "000000111111111110000000000000000000000001111111";
for(var i=0; i<s.length; i++)
{
a.push(parseInt(s[i],10));
}
答案 1 :(得分:1)
使用String.split()
方法。
var str = "000000111111111110000000000000000000000001111111";
var arr = str.split("");
for (num in arr){
num = Number(num);
}
答案 2 :(得分:1)
您可以将字符串用作字符数组,并且可以使用+将字符串转换为int。
var str = "110100010010011000101010101001";
var arr = [];
for(var idx in str)
arr.push(+str[idx]);
// proof
console.log(arr);
答案 3 :(得分:0)
您可以使用for
循环遍历字符串并将每个数字推送到数组:
var ar = []
for(var i=0; i< string.length;i++)
ar.push(string[i] * 1)
答案 4 :(得分:0)
您可以使用循环迭代每个字符或拆分字符串。在您将其分解后,您需要使用parseInt
将每个元素转换为数字(确保包含基数)。
var data = "000000111111111110000000000000000000000001111111";
var nums = data.split('').map(function(it) {
return parseInt(it, 10);
});
document.getElementById('results').textContent = JSON.stringify(nums);
&#13;
<pre id="results"></pre>
&#13;
如果需要,可以在filter
之后使用map
删除任何非0
或1
的元素。