public static void ForEach(this ArrayInstance self, Action <int, JsValue> callback) { for (int i = 0;; i++) { string index = i.ToString(); if (!self.HasOwnProperty(index)) { break; } callback(i, self.Get(index)); } }