遇到了一个问题是
1. 请生成一个16位的随机数字;
2. 已知一个非空字符串变量 str,请基于 str 生成一个16位的随机数字,也就是不同的 str 值随机数字不同,但是相同的 str 值生成的随机数是一样的。
主要代码是
const random = function(str){
let num = str.split('').map(char => char.charCodeAt()).join('')
return Math.sin(num).toString().split('.')[1].slice(0,16)
}
console.log(random("abcd"))
首先是将字符串变成一个数组 然后使用map 对数组进行处理 通过charCodeAt()得到Unicode码 使用join 放入一个字符串
然后使用Math类的sin 得到一个数字 对数字转化成字符串 使用split 方法 取到小数点后面的数 通过slice 拿到16位的随机数