2014-11-09 3 views
-3

Я знаю, что могу перебрать массив и проверить, если один из его пунктов РАВНО элемент, как это:Проверьте массив в пункте объекта содержит подстроку

var myObject = { 
    myArray : ["someString", "anotherString"] 
} 

for (var obj in myObject){ 

    if (myObject[obj].indexOf("someString") > -1) { 
    //In the array! 
    } else { 
    //Not in the array 
    } 

} 

Но как я могу проверить, если какой-либо из массивов items СОДЕРЖИТ элемент, переданный в метод indexOf.

Что я имею в виду: если эта часть выглядит так: if (myObject[obj].indexOf("some") > -1). Я все еще хочу, чтобы он поймалв myArray и сделал if-statement return true

+1

Вам нужно перебрать строки в массивах и выполнять отдельные проверки IndexOf. – ThiefMaster

+1

Если вы не заботитесь о позиции 'some' в' myArray', вы можете проверить ее присутствие, выставив массив как строку. Примеры: 'myObject [obj] .join (''). IndexOf (" some ")> -1' или' myObject [obj] .toString(). IndexOf ("some")> -1'. –

ответ

1

Вы уже перебираете объект, чтобы получить каждый массив. Теперь вам нужно пройти через массив, чтобы проверить, существует ли строка в каждом элементе. Ниже приведенный ниже фрагмент позволит вам проверить каждую запись в myObject, чтобы узнать, находится ли значение в каждом массиве.

var myObject = { 
 
    myArray: ["someString", "anotherString"], 
 
    anotherArray: ["fooString", "anotherString"] 
 
} 
 

 
for (var obj in myObject) { 
 
    var exists = false; 
 
    var theArray = myObject[obj]; 
 
    for (var i = 0; i < theArray.length; i++) { 
 
    if (theArray[i].indexOf("some") > -1) { 
 
     exists = true; 
 
    } 
 
    } 
 
    
 
    if(exists) { 
 
    alert(obj + ' yes'); 
 
    } else { 
 
    alert(obj + ' no'); 
 
    } 
 
}

+0

Скажем, строка, переданная в indexOf-метод, выглядит так: 'indexOf (« some else »)'. Как мне получить myArray, чтобы быть правдой? – user3228992

+0

Мне нужно, чтобы это было правдой, даже если я передаю другую строку, если она содержит «некоторые». Это может быть любой из них, например: «someString b», «a b», «some a b» ect. – user3228992

Смежные вопросы