هل ستكون هذه هي الطريقة الصحيحة لاختيار العناصر التي تنتهي ".subj"؟

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

  •  28-09-2019
  •  | 
  •  

سؤال

لدي هذا الرمز:

for(var i=0; i < localStorage.length; i++) {
   var subjects = [];

   var key, value;
   key = localStorage.key(i);
   value = localStorage.getItem(key);

   var keysplit = key.split(".");

   if(keysplit[keysplit.length] == "subj") {
       subjects.push(value);
   }

}

أحاول اختيار جميع المفاتيح التي تنتهي .subj ، لكن هذا لا يبدو أنه يعمل. أيه أفكار؟

هل كانت مفيدة؟

المحلول

ال length تقوم الخاصية بإرجاع عدد العناصر الموجودة في المصفوفة ، وبما أن الفهرس يستند إلى الصفر ، لا يوجد عنصر بهذا الفهرس.

يستخدم length - 1 للحصول على العنصر الأخير:

if (keysplit[keysplit.length - 1] === "subj") {

نصائح أخرى

احتمالات أخرى:

if(key.substr(key.lastIndexOf('.')) == ".subj")
//or
var suffix = '.subj';
if(key.lastIndexOf(suffix) == key.length - suffix.length)

نرى: lastIndexOf

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top