.
function *addPairwise(a1, a2) {
let i1 = a1[Symbol.iterator](), i2 = a2[Symbol.iterator](), x1, x2;
while (1) {
x1 = i1.next();
x2 = i2.next();
if (x1.done && x2.done) return;
yield x1.done ? x2.value : x2.done ? x1.value : x1.value + x2.value;
}
}
for...of , , , next .
, .
console.log([...addPairwise([1,2,3], [4,1,0])]);
, addPairwise,
addPairwise([1, 2, 3].values(), [4, 1, 0].values())
ES6, node v6, Chrome 51 babel.
user663031