كيفية التحقق مما إذا كان عنصر الصفيف يحتوي فقط على سطر جديد؟

StackOverflow https://stackoverflow.com/questions/933476

  •  06-09-2019
  •  | 
  •  

سؤال

يتم تحميل ملف نصي عادي من الفقرات ويتم تحميل بعض الخطوط الفارغة في صفيف عبر Ajax. يتم تقسيم الصفيف إلى عناصر من خلال خطوط جديدة، مثل:

var infoArray = new Array();
infoArray = response.split("\n");

ثم يتم وضع الصفيف من خلال حلقة للحلقة، مع اختبارات مختلفة للكلمات الرئيسية في العناصر المختلفة، والتي تشير إلى معالجة العناصر N المقبل معالجتها بطرق معينة. معظم العناصر هي الإخراج، مثل

 strmsg + = 'u003Cli style=";text-align:right;direction:rtl"> '+ infoArray [i] +'u003C/li> "؛؛

المشكلة هي الخطوط الفارغة من الملف النصي المحفوظة أيضا في عناصر الصفيف. ثم يحصل عنصر قائمة فارغة على الإخراج وهو خطأ بشكل ملحوظ.

تحتاج إلى حالة اختبار فقط للتحقق مما إذا كان عنصر الصفيف فارغا أو يحتوي على حرف جديد، لست متأكدا مما ينطبق. بالإضافة إلى الخادم هو عربات التي تجرها الدواب وأحيانا تستغرق دقيقة لتحميل معلومات جديدة لذلك أنا لست متأكدا في بعض الأحيان إذا قمت بتحديث رمزي الأحدث أم لا.

بعض الأشياء التي جربتها:

 إذا (! (infoarray [i] .substring (0،0) == '')) {/ * عملية الإخراج * /} إذا (! (infoarray [i] .substring (0،1) == ' n' )) {/ * عملية الإخراج * /} إذا (! (infoArray [i] .substring (0،0) == ' n')) {/ * إخراج العملية * /} إذا (! (infoArray [i]. Substring (0،1) == /  n /)) {/ * إخراج العملية * /} إذا (! (infoArray [i] .substring (0،1) == /  n /)) {/ * إخراج العملية * /} إذا (! (infoarray [i] .substring (0،1) == /  n |  s *  n /)) {/ * إخراج العملية * /} إذا (! (infoArray [i] .isement ())) {/ * عملية الناتج * /} var tempstring = infoArray [i] .tosting ()؛ إذا (! (tempstring.isemy (). إخراج العملية * /} إذا (tempstring.length! = 0) {/ * إخراج العملية * /}

الأفكار؟

تحرير: أوه نعم حاولت أيضا القيام ب "تشفير" و "فك شفرة" قبل التحقق من " n" فقط لإخراجها.

لا يوجد حل صحيح

نصائح أخرى

حاول تقليم السلسلة مع Regex. أعتقد أن هذا يحظى بشعبية (مأخوذة من أول جوجل ضرب):

if (!(infoArray[i].replace(/^\s+|\s+$/g, '') == ''))

ينشر WebKIT. مجموعة أخرى من وظائف تقليم يمكنك استخدام.

أود أن أقترح فقط تقليم عنصر الصفيف. على سبيل المثال، يمكنك استخدام JQuery:

if (infoArray[i] = $.trim(infoArray[i])) {
    strMsg += '<li>' + infoArray[i] + '</li>';
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top