最简单易懂的详细题解!!!
// parseInt() 方法
function base10(str) {
return parseInt(str, 2); //接受传入的字符,后面跟当前字符的进制数 (当前表示二进制)
}
//split()+reverse()+Math.pow() 方法
function base10(str) {
let arr = str.split("").reverse(); //先将数据进行处理 将个位翻转到第一个去
let result = 0; //定义一个最终返回的结果
for (let i = 0; i < arr.length; i++) { //对数据进行遍历(都知道二进制转十进制,是从个位开始运算再依次与后面相加)
result = result + arr[i] * Math.pow(2, i); //Math.pow(2, i) 代表求2的i次方 (pow是一个数***算方法,目的是求某个数的次方的值)
}
return result;
}
可以自己举一个简单的例子来验证 (“1000”)转为10进制是8 具体数***算为 0*2^0+0*2^1+0*2^2+1*2^3 (运算是从个位开始的)