用一个巨大的字符串“”转换数组;数字”;,用逗号分隔成一个数字数组(而不是字符串)
Convert array with one giant string of "numbers", seperated by commas, into an array of numbers (not strings)
当前的数字字符串如下:
["151,47,47,200,42,130,39,39,152,144,84,66,137,39,83,155,40,49,109,178,91,196,99,190,36,38,169,63,31,60,83,61,79,156,137,64,169,173,40,39,87,188,170,154,188,152,71,106,76,105,184,122,60,71,134,32,39,48,54,77,47,168,134,60,59,161,95,167,108,115,74,132,143,197,99,193,96,174,182,61,48,129,59,190,76,194,197,54,61,72,145,193,70,192,106,164,52,179,179,53"]
请注意,两端都有双引号,我需要去掉它。
目标格式为:
[151,47,47,200,42,130,39,39,152,144,84,66,137,39,83,155,40,49,109,178,91,196,99,190,36,38,169,63,31,60]....
我试过使用rStrip和replace,但没有用。有什么想法吗?
谢谢!
拆分、迭代和强制转换:
var a = ["151,179,179,53"];
var values = a[0].split(',').map(Number);
console.log(values);
var strings = data[0].split(','); // array of strings containing numbers
var numbers = [];
for (var i = 0; i < strings.length; i++) {
numbers[i] = parseInt(strings[i],10);
}
编辑:这正是@J148在他的评论
您可以使用.split(),然后遍历数组,将元素解析为int。
演示
HTML:
<div id='show'></div>
JS:
var stringArray = "151,47,47,200,42,130,39,39,152,144,84,66,137,39,83,155,40,49,109,178,91,196,99,190,36,38,169,63,31,60,83,61,79,156,137,64,169,173,40,39,87,188,170,154,188,152,71,106,76,105,184,122,60,71,134,32,39,48,54,77,47,168,134,60,59,161,95,167,108,115,74,132,143,197,99,193,96,174,182,61,48,129,59,190,76,194,197,54,61,72,145,193,70,192,106,164,52,179,179,53";
var numArray = stringArray.split(',');
for (var n=0;n<numArray.length;n++) {
numArray[n] = parseInt(numArray[n],10);
}
//add 1 to each to prove they are ints
for (var n=0;n<numArray.length;n++) {
document.getElementById('show').innerHTML += numArray[n]+'+1 = '+(numArray[n]+1)+'<br/>';
}
您几乎已经得到了所需的东西。这意味着转换和解析比转换更容易。
一种非常简单快速的无循环方式:
JSON.parse("["+["151,47,47,200,42,130,39,39,152,144,84,66,137,39,83,155,40,49,109,178,91,196,99,190,36,38,169,63,31,60,83,61,79,156,137,64,169,173,40,39,87,188,170,154,188,152,71,106,76,105,184,122,60,71,134,32,39,48,54,77,47,168,134,60,59,161,95,167,108,115,74,132,143,197,99,193,96,174,182,61,48,129,59,190,76,194,197,54,61,72,145,193,70,192,106,164,52,179,179,53"]+"]")
相关文章:
- JavaScript 在数组中查找缺少的数字
- 在javascript数组中分散数字
- 将数组键转换为数字node.js
- 删除JS数组中的最小数字
- 创建具有2个唯一数字的Javascript数组
- Javascript按数字顺序排序()数组
- 如何将数字切成更小的数字以适合我的数组
- Javascript中的非数字索引多维数组
- 指定数组中的元素对,其总和等于特定的目标数字
- 从数组/字符串中删除所有小数和单个数字
- 从数组[Javascript]的总长度中减去一个干净的数字
- 如何获取数组中数字的最大出现次数
- 如何将数字相加并将结果放入数组中
- JS:从数组中查找特定范围内的最低/最高数字
- 返回最大数字的数组
- 将数组中的所有数字组合相加
- 在数组中生成随机数,没有任何重复的数字
- 循环遍历数字和字母数组并仅提取数字
- 给定一个带有数字的数组,我如何编写一个递归函数,当 2 个元素加起来为一个目标时,它会在数组中查找索引
- 如何将数组(数字)加载到谷歌应用脚本 Byte[] 中