二进制数组转换为十进制-Array.reduce()&parseInt

描述

[1,0,1,0] => 10
[0,1,0,1] => 5

实例1

const binaryArrayToNumber = arr => {
    return parseInt(Number(arr.join('')),2);
}

实例2

const binaryArrayToNumber = arr => {
    return arr.reduce((accumulator, val) => accumulator << 1 | b);
}

Array,prototype.reduce()

  • 描述:reduce() 方法对累计器和数组中的每个元素(从左到右)应用一个函数,将其简化为单个值。
  • 语法: Array.reduce(callback[, initalValue])
  • 参数 - callback
    1. accumulator:累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue(见于下方)。
    2. currentValue: 数组中正在处理的元素。
    3. currentIndex: 数组中正在处理的当前元素的索引。 如果提供了initialValue,则索引号为0,否则索引为1。
    4. arr: 调用reduce()的数组
  • 参数 - initialValue
    1. 作为第一次调用 callback函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。
  • 返回值:
    函数累计处理的结果
  • 实例:
const initialValue = 0;
const arr = [{x:1},{x:2},{x:3}]
const callback = function(accumulator, currentValue) {
    return accumulator + currentValue.x;
}
const sum = arr.reduce(callback, initialValue);
console.log(sum) // 6
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • The JavaScriptArrayobject is a global object thatis used ...
    skycolor阅读 3,677评论 0 0
  • 创建数组 arr.length--- title: js正则表达式categories: javascriptda...
    angelwgh阅读 5,242评论 0 2
  • 转载:在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总...
    七色烟火阅读 8,546评论 0 3
  • 子曰:“君子食无求饱,居无求安,敏于事而慎于言,就有道而正焉,可谓好学也已。” 【辜解】 孔子说:“一个明智而良善...
    qy园阅读 1,666评论 0 0
  • 为什么有人能在劈头盖脸莫名其妙的说了你一通后还能像没事一样的说拜拜? 这世界是怎么了? 你没喝醉吧? 年长了几岁很...
    早西鹿阅读 2,118评论 0 0

友情链接更多精彩内容