function* reverse(data) {
let current = data.length;
while (current >= 1) {
current -= 1;
yield data[current];
}
}
for (let c of reverse("string")) {
console.log(c);
}
//printed g, n, i, r, t, s
for (let i of reverse([1, 2, 3])) {
console.log(i);
}
//printed 3, 2, 1