Related Articles

# Get previous true value from a given array index in Julia | Array findprev() Method

• Last Updated : 23 Mar, 2020

The `findprev()` is an inbuilt function in julia which is used to return the previous index before or including i of a true element of the specified array A, or returns zero if true value is not found. Here values of index or key start from 1 i.e, for index of 1st element is 1, index of 2nd element is 2 and so on.

Syntax:
findprev(A, i)
or
findprev(predicate::Function, A, i)

Parameters:

• A: Specified array
• i: Specified value
• Predicate Function: Determines whether something is true or false based on the specified arguments

Returns: It returns the previous index before or including i of a true element of the specified array A, or returns zero if true value is not found.

Example 1:

 `# Julia program to illustrate ``# the use of Array findprev() method``  ` `# Finding index of previous true value``# before or including index 1 from ``# the 1D array A``A ``=` `[false, true, true, false]``println(findprev(A, ``2``))``  ` `# Finding index of previous true value ``# before or including index (1, 1) from ``# the 2D array B of size 2 * 2``B ``=` `[true false; true false]``println(findprev(B, CartesianIndex(``1``, ``1``)))``  ` `# Finding index of previous true value``# before or including index (1, 2, 1) from ``# the 3D array C of size 2 * 2*2``C ``=` `cat([true false; true false], ``        ``[false true; true false],``        ``[true false; true true], dims ``=` `3``)``println(findprev(C, CartesianIndex(``1``, ``2``, ``1``)))`

Output:

Example 2:

 `# Julia program to illustrate ``# the use of Array findprev() method``  ` `# Finding index of previous even value``# before or including index 3 from ``# the 1D array A``A ``=` `[``1``, ``2``, ``5``, ``6``]``println(findprev(iseven, A, ``3``))``  ` `# Finding index of previous even value``# before or including index (2, 2) from ``# the 2D array B of size 2 * 2``B ``=` `[``3` `5``; ``6` `7``]``println(findprev(iseven, B, ``        ``CartesianIndex(``2``, ``2``)))``  ` `# Finding index of previous even value ``# before or including index (2, 2, 1) from ``# the 3D array C of size 2 * 2*2``C ``=` `cat([``1` `2``; ``3` `4``], [``5` `6``; ``7` `8``],``        ``[``9` `10``; ``11` `12``], dims ``=` `3``)``println(findprev(iseven, C, ``        ``CartesianIndex(``2``, ``2``, ``1``)))`

Output:

My Personal Notes arrow_drop_up