diff --git a/crates/oxide_types/src/object/props.rs b/crates/oxide_types/src/object/props.rs index 32e7bbdc..0fb61c0e 100644 --- a/crates/oxide_types/src/object/props.rs +++ b/crates/oxide_types/src/object/props.rs @@ -454,8 +454,8 @@ impl JsObject { // pos 槽随后覆盖写,hole 标记由 clear_hole_marker 清除。 if old < pos { let meta = self.ensure_array_elements_meta(); - for idx in old..pos { - meta[idx] = Some(PropMetaEntry::hole()); + for entry in meta.iter_mut().take(pos).skip(old) { + *entry = Some(PropMetaEntry::hole()); } } }