* Add a solution for Finders Keepers challenge * Update link to markdown * fix: removed repl.it link * fix: made this the Intermediate Solution * fix: added correct Intermediate icon
		
			
				
	
	
	
		
			3.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.6 KiB
		
	
	
	
	
	
	
	
title
| title | 
|---|
| Finders Keepers | 
 Remember to use
 Remember to use Read-Search-Ask if you get stuck. Try to pair program  and write your own code
 and write your own code 
 Problem Explanation:
 Problem Explanation:
We need to return the element from an array that passes a function. Both the function and the array are passed into our function findElement(arr, func).
Hint: 1
Looking through the array can be done with a for loop.
try to solve the problem now
Hint: 2
num is passed to the function. We will need to set it to the elements we want to check with the function.
try to solve the problem now
Hint: 3
Do not forget, if none of the numbers in the array pass the test, it should return undefined.
try to solve the problem now
 Basic Code Solution:
 Basic Code Solution:
function findElement(arr, func) {
  let num = 0;
  
  for(var i = 0; i < arr.length; i++) {
    num = arr[i];
    if (func(num)) {
      return num;
    }
  }
  
  return undefined;
}
Code Explanation
- Challenge asks us to look through array. This is done using a forloop.
- The numvariable is being passed into the function, so we set it to each index in our array.
- The pre-defined function already checks each number for us, so if it is "true", we return that num.
- If none of the numbers in the array pass the function's test, we return undefined.
 Intermediate Code Solution:
  Intermediate Code Solution:
function findElement(arr, func) {
  return arr.find(func);
}
Relevant Links
 Advanced Code Solution:
 Advanced Code Solution:
function findElement(arr, func) {
 return arr[(arr.map(func)).indexOf(true)];
}
Code Explanation
- Look through the array given in the 1st paramater "arr" using the .map() method
- Use the function in the 2nd parameter as the callback function in arr.map()
- Acquire the index of the first number that meets the condition in the function.
- Use that index to display the first available number that meets the condition.



