--- id: 5a24c314108439a4d403615a title: Remove an Item from an Array challengeType: 6 isRequired: false videoUrl: '' localeTitle: إزالة عنصر من صفيف --- ## Description
الوقت لممارسة إزالة العناصر من صفيف. يمكن استخدام مشغل الانتشار هنا أيضًا. تتضمن طرق JavaScript المفيدة الأخرى slice() و concat() .
## Instructions
تم تعديل المخفض ومنشئ الإجراء لإزالة عنصر من مصفوفة بناءً على فهرس العنصر. الانتهاء من كتابة المخفض بحيث يتم إرجاع مصفوفة حالة جديدة مع إزالة العنصر الموجود في الفهرس المحدد.
## Tests
```yml tests: - text: 'يجب أن يكون مخزن Redux موجودًا وتهيئة بحالة مساوية لـ [0,1,2,3,4,5]' testString: 'assert((function() { const initialState = store.getState(); return (Array.isArray(initialState) === true && DeepEqual(initialState, [0, 1, 2, 3, 4, 5])); })(), "The Redux store should exist and initialize with a state equal to [0,1,2,3,4,5]");' - text: removeItem و immutableReducer حد سواء ينبغي أن تكون وظائف. testString: 'assert(typeof removeItem === "function" && typeof immutableReducer === "function", "removeItem and immutableReducer both should be functions.");' - text: يجب أن يؤدي إرسال منشئ الإجراء removeItem إزالة العناصر من الحالة ويجب ألا يؤدي إلى تحوُّل الحالة. testString: 'assert((function() { const initialState = store.getState(); const isFrozen = DeepFreeze(initialState); store.dispatch(removeItem(3)); const state_1 = store.getState(); store.dispatch(removeItem(2)); const state_2 = store.getState(); store.dispatch(removeItem(0)); store.dispatch(removeItem(0)); store.dispatch(removeItem(0)); const state_3 = store.getState(); return isFrozen && DeepEqual(state_1, [0, 1, 2, 4, 5]) && DeepEqual(state_2, [0, 1, 4, 5]) && DeepEqual(state_3, [5]); })(), "Dispatching the removeItem action creator should remove items from the state and should NOT mutate state.");' ```
## Challenge Seed
```jsx const immutableReducer = (state = [0,1,2,3,4,5], action) => { switch(action.type) { case 'REMOVE_ITEM': // don't mutate state here or the tests will fail return default: return state; } }; const removeItem = (index) => { return { type: 'REMOVE_ITEM', index } } const store = Redux.createStore(immutableReducer); ```
## Solution
```js // solution required ```