Profile Lookup: works in alternate code editor

I solve these piece by piece and I copied this in playcode.io and the one of the fist tests that “Kristen” “lastName” should return “Vos”. In playcode.io I get that “return” of Vos. In freeCodeCamp I get the error 'should return “Vos” '. Again I copied the entire question with the array of objects and I get “Vos” when I add the name “Kristen” and “lastName” into the test for the function (call it with those parameters)


//Setup
var contacts = [
    {
        "firstName": "Akira",
        "lastName": "Laine",
        "number": "0543236543",
        "likes": ["Pizza", "Coding", "Brownie Points"]
    },
    {
        "firstName": "Harry",
        "lastName": "Potter",
        "number": "0994372684",
        "likes": ["Hogwarts", "Magic", "Hagrid"]
    },
    {
        "firstName": "Sherlock",
        "lastName": "Holmes",
        "number": "0487345643",
        "likes": ["Intriguing Cases", "Violin"]
    },
    {
        "firstName": "Kristian",
        "lastName": "Vos",
        "number": "unknown",
        "likes": ["JavaScript", "Gaming", "Foxes"]
    }
];


function lookUpProfile(name, prop){
// Only change code below this line

// Only change code above this line
for (let i = 0; i < contacts.length; i++){
    if ( contacts[i]["firstName"] == name) {
                return  contacts[i][prop];
               
         } 
    else { return "No such contact" } 
    } 
}   


// Change these values to test your function
lookUpProfile("Akira", "likes");

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup

I restructured my code and I do not understand the question enough to complete it. I do not understand what is being passed to prop by freeCodeCamp. It tells me Akira and “address” should return “No such property” However the prop that is literally being passed may not be address.

function lookUpProfile(name, prop){
// Only change code below this line
let yo = ‘’
let dude = ‘’;
// Only change code above this line
for (let i = 0; i < contacts.length; i++){
if ( contacts[i][“firstName”] == name) {
yo = contacts[i][prop];
yo.map( x => x == THIS IS FRUSTRATING ? yo = prop : dude=‘No such contact’)
}
else { dude = ‘No such contact’ }
}
if ( yo == ‘’){ return dude}
else {return yo}

}

yo = contacts[i][prop];
yo.map( x => x == THIS IS FRUSTRATING ? yo = prop : dude=‘No such contact’)

a. you’re trying to use map on a string.
b. this is not how map works: if you were using it on an array, you would be attempting to compare each value in turn to THIS IS FRUSTRATING. If it matched, you’d replace the array you’re iterating over with a string so afaics everything should blow up at that point. If it didn’t match, you assign to dude over and over again for however many elements are in the array.

Map is for taking an array and running a specific function for every value in the array, generating a new array with the new values returned by that function. It’s not a replacement for a loop, and it’s not for side effects.