如何将数组中的数字拆分为单个数字
How to split numbers in an array into single digits
在我的代码中,我收到一个包含数字的数组。有些数字是两位数甚至树数。所以它看起来像这样:
[48, 48, 48, 48, 99, 52, 50, 100, 97, 101, 102, 51, 98, 100, 49, 100, 51, 100, 52, 53, 54, 57, 99, 49, 53, 52, 55, 51, 55, 52, 100, 57, 99, 56, 52, 49, 99, 99, 102, 52, 56, 50, 51, 55, 53, 49, 56, 97, 53, 101, 99, 53, 55, 54, 99, 57, 50, 97, 99, 56, 97, 50, 53, 53, 49, 54, 52, 55, 50, 54, 56, 57, 56, 50, 54, 54, 57, 50, 53, 55, 48]
这是我如何实现这一目标的代码:
function hashData(s) {
let hashArray = [];
for(let i = 0; i < s.length; i++){
let code = s.charCodeAt(i);
hashArray.push(code);
}
hashArray.toString().split("")
console.log(hashArray)
return hashArray;
}
我想达到的效果是这样的:
[4, 8, 4, 8, 4, 8, 4, 8, 9, 9, 5, 2] //and so on.
如您所见,我尝试了 toString()
方法,但似乎没有任何效果。
只是 .join
将输入的数字变成一个长字符串,然后将其转回一个数组(由单个字符组成)并映射到数字。
const hashData = s => [...s.join('')].map(Number);
console.log(hashData([48, 48, 48, 48, 99, 52, 50, 100, 97, 101, 102, 51, 98, 100, 49, 100, 51, 100, 52, 53, 54, 57, 99, 49, 53, 52, 55, 51, 55, 52, 100, 57, 99, 56, 52, 49, 99, 99, 102, 52, 56, 50, 51, 55, 53, 49, 56, 97, 53, 101, 99, 53, 55, 54, 99, 57, 50, 97, 99, 56, 97, 50, 53, 53, 49, 54, 52, 55, 50, 54, 56, 57, 56, 50, 54, 54, 57, 50, 53, 55, 48]))
您可以加入并获得一个新阵列。
const
values = [1, 23, 456, 7890],
result = Array.from(values.join(''), Number);
console.log(result);
在我的代码中,我收到一个包含数字的数组。有些数字是两位数甚至树数。所以它看起来像这样:
[48, 48, 48, 48, 99, 52, 50, 100, 97, 101, 102, 51, 98, 100, 49, 100, 51, 100, 52, 53, 54, 57, 99, 49, 53, 52, 55, 51, 55, 52, 100, 57, 99, 56, 52, 49, 99, 99, 102, 52, 56, 50, 51, 55, 53, 49, 56, 97, 53, 101, 99, 53, 55, 54, 99, 57, 50, 97, 99, 56, 97, 50, 53, 53, 49, 54, 52, 55, 50, 54, 56, 57, 56, 50, 54, 54, 57, 50, 53, 55, 48]
这是我如何实现这一目标的代码:
function hashData(s) {
let hashArray = [];
for(let i = 0; i < s.length; i++){
let code = s.charCodeAt(i);
hashArray.push(code);
}
hashArray.toString().split("")
console.log(hashArray)
return hashArray;
}
我想达到的效果是这样的:
[4, 8, 4, 8, 4, 8, 4, 8, 9, 9, 5, 2] //and so on.
如您所见,我尝试了 toString()
方法,但似乎没有任何效果。
只是 .join
将输入的数字变成一个长字符串,然后将其转回一个数组(由单个字符组成)并映射到数字。
const hashData = s => [...s.join('')].map(Number);
console.log(hashData([48, 48, 48, 48, 99, 52, 50, 100, 97, 101, 102, 51, 98, 100, 49, 100, 51, 100, 52, 53, 54, 57, 99, 49, 53, 52, 55, 51, 55, 52, 100, 57, 99, 56, 52, 49, 99, 99, 102, 52, 56, 50, 51, 55, 53, 49, 56, 97, 53, 101, 99, 53, 55, 54, 99, 57, 50, 97, 99, 56, 97, 50, 53, 53, 49, 54, 52, 55, 50, 54, 56, 57, 56, 50, 54, 54, 57, 50, 53, 55, 48]))
您可以加入并获得一个新阵列。
const
values = [1, 23, 456, 7890],
result = Array.from(values.join(''), Number);
console.log(result);