توفيق اسحيمة نشر 22 ديسمبر 2021 أرسل تقرير نشر 22 ديسمبر 2021 السلام عليكم من فضلكم اود ان افهم دور هادا الكود return myString.indexOf(ele) === index; والدي هو داخل هاته الدالة والتي عملها هو فلترة الحروف المكررة بحيث تصبح لدينا سلسلة نصية صحيحة والتي هي Shima let myString = "SShhimmmmmaaaa"; let fiArr = myString.split("").filter(function (ele, index) { return myString.indexOf(ele) === index; }).reduce(function (acc, current) { return `${acc}${current}`; }); جزاكم الله خيرا. 1 اقتباس
0 Mohammad Al Eik نشر 22 ديسمبر 2021 أرسل تقرير نشر 22 ديسمبر 2021 (معدل) let myString = "SShhimmmmmaaaa"; let fiArr = myString.split("").filter(function (ele, index) { return myString.indexOf(ele) === index; }).reduce(function (acc, current) { return `${acc}${current}`; }); اولاً نحول النص الى مصفوفة let myString = "SShhimmmmmaaaa"; let fiArr = myString.split("") // [S,S,h,h,i,m,m,m,m,m,a,a,a,a] ثانياً index هي عنوان العنصر في المصفوفة أي : اول عنصر 0 الثاني 1 الثالث 2 ... ele هو العنصر بذاته أي : الاول S الثاني S الثالث h ... نقوم بداخل الدالة filter بحذف العناصر المكررة . حيث أن myString.indexOf تقوم بأرجاع اول عنوان يطابق ele في المصفوفة myString و index هو عنوان ال ele في هذه الloop كما قد وضحت لك في الشيفرة التالية كيف ستكون المقارنة في كل دورة في هذه ال loop الطرف الايسر يمثل myString.indexOf الطرف الأيمن index let myString = "SShhimmmmmaaaa"; let fiArr = myString.split("").filter(function (ele, index) { return myString.indexOf(ele) === index; // 0 === 0 => [s] // 0 !== 1 false // 2 === 2 => [s,h] // 2 !== 3 => false // 4 === 4 => [s,h,i] // وهكذا }); console.log(fiArr) // [ 'S', 'h', 'i', 'm', 'a' ] تم التعديل في 22 ديسمبر 2021 بواسطة Mohammad Al Eik 1 اقتباس
0 توفيق اسحيمة نشر 22 ديسمبر 2021 الكاتب أرسل تقرير نشر 22 ديسمبر 2021 بتاريخ 45 دقائق مضت قال Mohammad Al Eik: let myString = "SShhimmmmmaaaa"; let fiArr = myString.split("").filter(function (ele, index) { return myString.indexOf(ele) === index; }).reduce(function (acc, current) { return `${acc}${current}`; }); اولاً نحول النص الى مصفوفة let myString = "SShhimmmmmaaaa"; let fiArr = myString.split("") // [S,S,h,h,i,m,m,m,m,m,a,a,a,a] ثانياً index هي عنوان العنصر في المصفوفة أي : اول عنصر 0 الثاني 1 الثالث 2 ... ele هو العنصر بذاته أي : الاول S الثاني S الثالث h ... نقوم بداخل الدالة filter بحذف العناصر المكررة . حيث أن myString.indexOf تقوم بأرجاع اول عنوان يطابق ele في المصفوفة myString و index هو عنوان ال ele في هذه الloop كما قد وضحت لك في الشيفرة التالية كيف ستكون المقارنة في كل دورة في هذه ال loop الطرف الايسر يمثل myString.indexOf الطرف الأيمن index 0 === 0 => [s] // 0 !== 1 false // 2 === 2 => [s,h] // 2 !== 3 => false // 4 === 4 => [s,h,i] شكرا لك اخي على سعة ورحب صدرك في توضيح الفكرة لكن صراحة لم اصل الى الفهم بشكل دقيق وخصوصا لهدا الجزء الدي قمت بشرحه في المثال السابق اعتدر على كثرة الاسئلة اقتباس
0 Mohammad Al Eik نشر 22 ديسمبر 2021 أرسل تقرير نشر 22 ديسمبر 2021 (معدل) أظن ان النقطة التي تسبب اللغط لديك هي هذه myString.indexOf(ele) هنا يقوم بالبحث عن اول عنصر مطابق يجده في المصفوفة myString ثم يعطينا دليله , مثلاً myString.indexOf("S") سوف يعطينا 0 دائما لأنه اول عنصر في المصفوفة myString myString.indexOf("h") سوف يعطي 2 لأنه ثالث عنصر في المصفوفة بغض النظر عن أن S و h مكررين في المصفوفة لأن indexOf تعيد أول عنصر مطابق تجده تم التعديل في 22 ديسمبر 2021 بواسطة Mohammad Al Eik اقتباس
السؤال
توفيق اسحيمة
السلام عليكم
من فضلكم اود ان افهم دور هادا الكود
والدي هو داخل هاته الدالة والتي عملها هو فلترة الحروف المكررة بحيث تصبح لدينا سلسلة نصية صحيحة والتي هي Shima
جزاكم الله خيرا.
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.