لقد أمضيت ساعتين في الليل في استخدام Javascript لمعالجة وظيفة تصفية سلسلة بسيطة، وهو في الواقع بسيط جدًا وأريد فقط تصفية <b/> في نتائج الاستعلام التي يعرضها Google AJAX بحث API.
أحد الأسباب المهمة التي تجعل الأمر يستغرق الكثير من الوقت هو أنني لست على دراية بعملية تسلسل الأحرف في JavaScript. JS لا يدعم +=، لذلك تحتاج إلى استخدام a=a + 'b'. في الواقع، هذه المشكلة بسيطة جدًا عندما تفكر فيها، لكنني لا أعرف لماذا استغرقت الكثير من الوقت.
انسخ رمز الكود كما يلي:
وظيفة سلسلة العمليات (سلسلة) {
فار ط=0;
var leftTagFlag = false
var ClearString = new String();// لا توجد سلسلة علامات <b>
تنبيه ("string. length = " + string. length)؛
بينما (أنا < سلسلة. الطول) {
التبديل(string.charAt(i)){
الحالة '<': leftTagFlag = true;
استراحة؛
الحالة '>': leftTagFlag = false;
استراحة؛
قضية '/':
الحالة 'ب': إذا (leftTagFlag)
استراحة؛
else ClearString.concat( string.charAt(i));
الافتراضي: ClearString = ClearString.concat( string.charAt(i) );
}
أنا++;
}