工作中对于数组的应用 -- 转换、截取、移动、新增、求和

最近荒废了,没有写博客。今天上线突然发现有1W+的阅读量了,希望我真的能够帮助到别人。

记录下我在实际工作中用到的数组的操作。

举个例子:
这里写图片描述

图示功能是这样的:
1. 开关在哪个档位,对象档位上的数据允许发送 开关状态存储在数组上
2. 拨码开关上的状态是存储在数组中的在上为1在下为0
3. 下拉选框中的数值更改及拨码开关显示
4. 左右移动即存储在数组中的数值循环移动

字符串转换为数组1
拨码开关中的每个按钮都可以点击,1/0切换状态并记录在DOM上。
每次点击都循环获取该组数据即可。
    var arr = [];  // 用于存放该组数据
    $(selector).each(function(){
        var sign = parseInt($(this).attr("sign"));
        arr.push(sign);
    })
    // 注意: push操作在数组中的存放位置为末尾

    arr // [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] 
字符串转换为数组2

直接将字符串转为数组

 var str = '010101010011';
 str.split('').map(item=> +item)

// 先分割然后遍历强制想转换
// arr    [0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1]
数组转为字符串
与后台交互需要为数值类型, 需要将二进制转为十进制 即1010转为10
    var val = parseInt(arr.join(''), 2)
    // join()操作 可以将数组转化为字符串  
    // parseInt(str,2) 可以将字符串中的数字作为二进制转化后输出
数组中移动
例子中将数字左移右移操作,就是将数组中的第一位删除,然后将删除掉的元素加到数组末尾
比如: 左移操作
    var arr = [1,0,0,0,0,0]
    //记录第一位数
    var value = arr[0]
    // 删除第一个元素并保存  注意这里返回的数据是删除的数据类型是数组而不是原数据arr
    arr.splice(0,1);
    // 将删除数据添加到最后一位
    arr.splice(arr.length,0,value)
    // [0, 0, 0, 0, 0, 1]
Array.splice() 方法用于插入、删除或替换数组的元素。
array.splice(index,howmany,item1,.....,itemX)
index 从第几位开始删除,
howmany 删除多少 可以为0
items 需要添加到该位置的元素
数组中求和
举个例子: 

这里写图片描述

案例中: 第一个旋钮仅做展示用不可操作,
2~6旋钮最大值不可操作 255
将旋钮数据保存在数组中,每次执行旋钮操作时判断值是否大于255即可

    var arr = [10,20,30,40]
    // 第一种方式 reduce
    arr.reduce((total,curVal) => total+curVal)

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
total 初始值
currentValue 循环中的当前数据
currentIndex 循环中的当前index
arr 当前数组

暂时就这些,遇到再总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值