7kyu Ones and Zeros

题目:

Given an array of one's and zero's convert the equivalent binary value to an integer.

Eg: [0, 0, 0, 1] is treated as 0001 which is the binary representation of 1

Examples:

Testing: [0, 0, 0, 1] ==> 1
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 0, 1] ==> 5
Testing: [1, 0, 0, 1] ==> 9
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 1, 0] ==> 6
Testing: [1, 1, 1, 1] ==> 15
Testing: [1, 0, 1, 1] ==> 11

 

答案:

// 1
const binaryArrayToNumber = arr => parseInt(arr.join(''), 2);

// 2
function binaryArrayToNumber (arr) {
  return arr.reduce( (a, b) => a << 1 | b);
}

// 3
const binaryArrayToNumber = arr => {
  var regexComma = arr.toString().replace(/,/g, '');
  return parseInt(regexComma, 2);
}

 

posted @ 2017-08-08 12:57  tong24  阅读(170)  评论(0编辑  收藏  举报