Что нового

[Массивы] Алгоритм поиска данных в массиве

ArgoNaft

Новичок
Сообщения
129
Репутация
0
Мне нужно сделать
если в массиве все кроме 0 индекса равны "NON" то Exit, как это сделать?
Код:
For $i=1 To UBound($aArr)-1
	  If ($aArr[$i] <> "NON") Then
		 
	  EndIf
   Next

И тут я встал :smile: не могу понять как решить задачу
 

ildar

Осваивающий
Сообщения
252
Репутация
30
Код:
For $i=1 To UBound($aArr)-1
      If ($aArr[$i] = "NON") Then ExitLoop
      
   Next
 
Автор
A

ArgoNaft

Новичок
Сообщения
129
Репутация
0
ну вот у вас есть допустим массива
"NON",4,"NON"
У вас условие будет не выполнено, потому что в массиве есть еще 4. А в условии: надо чтоб все были "NON"

Код:
Local $aiResult = _ArrayFindAll($aArr, "NON")
   If (UBound($aiResult)+1 = UBound($aArr)) Then
  Exit
EndIf

Вот так я сделал все отлично работает :smile: спасибо
 

xaker

Знающий
Сообщения
52
Репутация
16
так быстрее:
Код:
For $i = 1 To UBound($aArr)-1
	If $aArr[$i] <> "NON" Then Exit
Next
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
xaker
Прочтите еще раз условие.

Код:
$uB = UBound($aArr)
For $Idx = 1 To $uB - 1 Step 1
	If $aArr[$Idx] = "NON" Then ContinueLoop
	; ---
	ExitLoop
Next
If $Idx = $uB Then Exit ;В массиве все элементы равны NON
 

Z_Lenar

Продвинутый
Сообщения
209
Репутация
52
Код:
While 1
	For $i = 1 To UBound($aArr)-1
		If $aArr[$i] <> 'NON' Then ExitLoop 2
	Next
	Exit
WEnd
 
Верх