diff --git a/packages/svelte/src/internal/client/dom/blocks/each.js b/packages/svelte/src/internal/client/dom/blocks/each.js index ea3e674d33..868c496276 100644 --- a/packages/svelte/src/internal/client/dom/blocks/each.js +++ b/packages/svelte/src/internal/client/dom/blocks/each.js @@ -407,6 +407,7 @@ function reconcile_tracked_array(array, each_block, dom, is_controlled, render_f var sources = new Int32Array(b - start); var indexes = new Map(); var i; + var index; for (i = start; i < b; i += 1) { sources[i - start] = NEW_BLOCK; @@ -414,8 +415,8 @@ function reconcile_tracked_array(array, each_block, dom, is_controlled, render_f } for (i = start; i < a; i += 1) { - var index = map_get(indexes, a_blocks[i].k); block = a_blocks[i]; + index = map_get(indexes, block.k); if (index === undefined) { destroy_block(block); @@ -426,7 +427,7 @@ function reconcile_tracked_array(array, each_block, dom, is_controlled, render_f if (is_animated) { // If keys are animated, we need to do updates before actual moves - update_block(a_blocks[i], array[index], index, flags); + update_block(block, array[index], index, flags); } } }