使用jquery获取奇数和偶数部分

t9eec4r0  于 2023-04-05  发布在  jQuery
关注(0)|答案(1)|浏览(203)

我有一个13位数,并希望提取奇数和偶数部分这个数字。我想写的EAN-13条码类型,需要计算我的数字的真理检查功能。
所以我有一个这样的数字:1100050010004我想得到奇数和偶数部分的总和:

odd parts: 1+0+0+0+1+0+4
even parts: 1+0+5+0+0+0

我想我必须把数字转换成数组,并得到数组奇数和偶数部分。这是正确的和最好的解决方案?
我用的是这个方法。这个方法好吗?

var myArr = String(barcode).split("").map((barcode)=>{
                  return Number(barcode)
                });
                all_odd = 0;
                all_even = 0;
                for (var i = 0; i < myArr.length; i++) {
                    if (i % 2 === 0) all_odd += myArr[i];
                    else all_even += myArr[i];
                }
guykilcj

guykilcj1#

你可以用一些es6来缩短这段代码。逻辑本质上是将数字转换为字符串,然后分割,然后循环(使用reduce

const num = 1100050010004 

/**
 const {even, odd} = [...String(num)].reduce((acc,curr,i) => {
  acc[i%2===0?'odd':'even']+=(+curr)
  return acc
},{odd:0,even:0})
**/

const {even, odd} = [...String(num)].reduce((acc, curr, i) => (acc[i % 2 === 0 ? 'odd' : 'even'] += (+curr), acc), {odd: 0, even: 0});

console.log(even, odd)

相关问题