محمود سعداوي2 نشر 15 سبتمبر 2022 أرسل تقرير نشر 15 سبتمبر 2022 السلام عليكم. في الكود التالي أريد الحصول على array جديد لا يحتوي الحروف المكررة let myString = "EElllzzzzzzzeroo"; myString.split(""); myString.filter((el,i) => { return myString.indexOf(el) === i }) console.log(myString) الرجاء توضيح رسالة الخطأ التي تظهر لي شكرا لكم. 1 اقتباس
0 Adnane Kadri نشر 15 سبتمبر 2022 أرسل تقرير نشر 15 سبتمبر 2022 يظهر الخطأ لأنك تحاول استدعاء تابع يخص المصفوفات على سلسلة نصية. myString.split(""); myString.filter فالتابع split لا يقوم بتجاوز تعريف المتغير بل يعيد مصفوفة جديدة تماما. في هاته الحالة تبقى myString سلسلة نصية في حال لم يتم تجاوزها عن طريق: let myString = "EElllzzzzzzzeroo"; myString = myString.split(""); او مباشرة: .split("") .filter((el,i) => { return myString.indexOf(el) === i }) ثم لخدمة الغرض الذي لديك يكفي : let myString = "EElllzzzzzzzeroo"; myString = myString .split("") .filter((el,i) => { return myString.indexOf(el) === i }) يفترض ان يحل المشكل لديك. ستعاد مصفوفة من حروف فريدة في المصفوفة. ["E", "l", "z", "e", "r", "o"] String.prototype.split() Array.prototype.filter() String.prototype.indexOf() 1 اقتباس
0 علي عبد محسن نشر 15 سبتمبر 2022 أرسل تقرير نشر 15 سبتمبر 2022 الطريقة الأسرع لتنقية مصفوفة جافاسكربت من العناصر المكررة هي إستخدام Set مع spread function ( أو ...) كما في المثال let myString = "EElllzzzzzzzeroo"; let array= myString.split("") // نحول النص الى مصفوفة let uniqueArrayElements = [...new Set(array)]; // نستخرج العناصر الفريدة لاحظ أننا لم نعدل على المصفوفة الأصلية الناتجة من تقسيم النص. أيضاً بالنسبة للخطأ الذي يظهر لك سببه أنك تحاول إستدعاء دالة filter ( التابعة للنوع Array ) من خلال متغير من النوع String. اقتباس
السؤال
محمود سعداوي2
السلام عليكم.
في الكود التالي أريد الحصول على array جديد لا يحتوي الحروف المكررة
الرجاء توضيح رسالة الخطأ التي تظهر لي
شكرا لكم.
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.