كيفية حذف عنصر معين من مصفوفة في JavaScript؟
مرحبًا بالجميع! لقد بدأت للتو في تعلم JavaScript وواجهت مشكلة تبدو بسيطة، لكنني لا أستطيع إيجاد الحل الصحيح.
لدي مصفوفة أرقام:
```javascript
let numbers = [1, 2, 3, 4, 5];
```
أريد حذف العنصر الذي قيمته `3`. جربت استخدام `delete numbers[2]`، لكن بعد ذلك يبقى `undefined` في مكان العنصر المحذوف، ولا تنكمش المصفوفة. أتوقع الحصول على `[1, 2, 4, 5]`.
جربت أيضًا كتابة دالة خاصة بي باستخدام حلقة، لكن الكود أصبح ضخمًا ولا يعمل دائمًا بشكل صحيح، خاصة إذا كانت هناك عناصر مكررة في المصفوفة. على سبيل المثال:
```javascript
function removeItem(arr, item) {
for(let i = 0; i < arr.length; i++) {
if(arr[i] === item) {
arr.splice(i, 1);
}
}
}
```
هذا الخيار يحذف فقط أول ظهور، لكن إذا تكرر العنصر عدة مرات، فإنه يتخطى بعضها بسبب تغير الفهارس.
أرجو إخباري، ما هي الطريقة الصحيحة والحديثة لحذف عنصر من