تحقق مما إذا كان العنصر موجودا في مصفوفة [javascript]


Answers

الشفرة:

function isInArray(value, array) {
  return array.indexOf(value) > -1;
}

إعدام:

isInArray(1, [1,2,3]); // true

تحديث (2017):

في المتصفحات الحديثة مع دعم إكماسكريبت 6 يمكنك استخدام وظيفة Array.prototype.includes ، مما يجعلها وسيلة أكثر سهولة للتحقق مما إذا كان عنصر موجود في مصفوفة:

const haystack = [1, 2, 3];
const needle = 1;
const isInArray = haystack.includes(needle);
console.log(isInArray); // true

Question

الوظيفة التي أستخدمها الآن للتحقق مما يلي:

function inArray(needle,haystack)
{
    var count=haystack.length;
    for(var i=0;i<count;i++)
    {
        if(haystack[i]===needle){return true;}
    }
    return false;
}

إنها تعمل. ما أبحث عنه هو ما إذا كان هناك طريقة أفضل للقيام بذلك.




رمز سطر واحد .. سيعود صحيح أو خطأ

!!(arr.indexOf("val")+1)



يمكنك استخدام إندكسوف ولكن لا تعمل كريفولي في الإصدار الأخير من إنترنت إكسبلورر. الشفرة:

function isInArray(value, array) {
  return array.indexOf(value) > -1;
}

إعدام:

isInArray(1, [1,2,3]); // true

أقترح عليك استخدام التعليمات البرمجية التالية:

function inArray(needle, haystack) {
 var length = haystack.length;
 for (var i = 0; i < length; i++) {
 if (haystack[i] == needle)
  return true;
 }
 return false;
}



منذ ECMAScript6، يمكن للمرء أن استخدام مجموعة:

var myArray = ['A', 'B', 'C'];
var mySet = new Set(myArray);
var hasB = mySet.has('B'); // true
var hasZ = mySet.has('Z'); // false



في لوداش يمكنك استخدام _.includes (التي أيضا الأسماء المستعارة ل _.contains)

يمكنك البحث في مجموعة كاملة:

_.includes([1, 2, 3], 1); // true

يمكنك البحث في المصفوفة من فهرس البداية:

_.includes([1, 2, 3], 1, 1);  // false (begins search at index 1)

البحث في سلسلة:

_.includes('pebbles', 'eb');  // true (string contains eb)

يعمل أيضا لفحص صفائف بسيطة من الكائنات:

_.includes({ 'user': 'fred', 'age': 40 }, 'fred');    // true
_.includes({ 'user': 'fred', 'age': false }, false);  // true

شيء واحد أن نلاحظ حول الحالة الأخيرة هو أنه يعمل لأوليات مثل السلاسل والأرقام وبولنز ولكن لا يمكن البحث من خلال المصفوفات أو الكائنات

_.includes({ 'user': 'fred', 'age': {} }, {});   // false
_.includes({ 'user': [1,2,3], 'age': {} }, 3);   // false