通过ES6解构同时在N阵列上运行

时间:2017-05-17 19:26:03

标签: javascript arrays ecmascript-6

有没有办法使用ES6功能(例如解构或for of

以干净的方式同时迭代2个或更多数组

例如,考虑在ES5中找到XOR或2个缓冲区(源自czzarr/node-bitwise-xor)我会比较长度并修改我的for循环以使用计数器进行迭代:

function xor(a, b) {
  if (!Buffer.isBuffer(a)) a = new Buffer(a)
  if (!Buffer.isBuffer(b)) b = new Buffer(b)
  var res = []
  if (a.length > b.length) {
    for (var i = 0; i < b.length; i++) {
      res.push(a[i] ^ b[i])
    }
  } else {
    for (var i = 0; i < a.length; i++) {
      res.push(a[i] ^ b[i])
    }
  }
  return new Buffer(res);
}

我希望有更多的ES6方式可以实现这一点,我不需要使用i变量,如:

return [/*some kind of Array magic*/].map((c,d)=>c^d);

0 个答案:

没有答案