javascript
1const f = a=>a.map(p=c=>p=p<<7|c&127)|p
は下記とほぼ等価とおもいます。
javascript
1function f(a){
2 let p;
3 for(let i=0;i<a.length;i++) {
4 p=p<<7|a[i]&127
5 }
6 return p
7}
(計算結果:元のコードの計算結果と同じ)
console.log(f([ 0x00 ])) // 0
console.log(f([ 0x07 ])) // 7
console.log(f([ 0x7f ])) // 127
console.log(f([ 0x81, 0x00 ])) // 128
console.log(f([ 0xC0, 0x00 ])) // 8192
console.log(f([ 0xff, 0x7f ])) // 16383
console.log(f([ 0x81, 0x80, 0x00 ])) // 16384
console.log(f([ 0x86, 0xc3, 0x17 ])) // 106903
console.log(f([ 0xbd, 0x84, 0x40 ])) // 1000000
console.log(f([ 0xff, 0xff, 0x7f ])) // 2097151
console.log(f([ 0xC0, 0x80, 0x80, 0x00 ])) // 134217728
console.log(f([ 0xFF, 0xFF, 0xFF, 0x7F ])) // 268435455
(最後の「|p」は mapによって返ってきたArrayを外すためにつけてるんじゃないかと。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。