Get an iterator for an array that's robust against prototype modification.
npm install --save safe-array-iterator
var safeArrayIterator = require('safe-array-iterator');
var assert = require('assert');
delete Array.prototype[Symbol.iterator];
const arr = [1, 2, 3];
const results = [];
for (const x of safeArrayIterator(arr)) {
results.push(x);
}
assert.deepEqual(results, arr);
Simply clone the repo, npm install
, and run npm test