# JAVASCRIPT: return statement in normal vs arrow functions.

**URL:** https://forum.kirupa.com/t/javascript-return-statement-in-normal-vs-arrow-functions/655506
**Category:** Uncategorized
**Created:** [December 15, 2022, 7:42am UTC](https://forum.kirupa.com/t/javascript-return-statement-in-normal-vs-arrow-functions/655506 "2022-12-15T07:42:42Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![polaryeti](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/polaryeti/32/19283_2.png) [@polaryeti](https://forum.kirupa.com/u/polaryeti)
#### Post date: [December 15, 2022, 7:42am UTC](https://forum.kirupa.com/t/javascript-return-statement-in-normal-vs-arrow-functions/655506/1 "2022-12-15T07:42:42Z")

</div>

Source code: [How to use the JavaScript filter array method? - Flexiple Tutorials](https://flexiple.com/javascript/javascript-filter-array/)

```auto
let freelancers = [{name: "Harry", skill: "JavaScript"},{name: "Mark", skill: "Python"},{name: "David", skill:"JavaScript"}];

let javascript_freelancers = freelancers.filter(function(freelancer) {
    return freelancer.skill == "JavaScript"; });

console.log(javascript_freelancers);

```

My code:

```auto
let freelancers = [{ name: "Harry", skill: "JavaScript" }, { name: "Mark", skill: "Python" }, { name: "David", skill: "JavaScript" }];

let newfreelancers = freelancers.filter((obj) => obj.skill == "Javascript");
console.log(newfreelancers);

```

My code works when I remove 1 “=” from obj.skill==“Javascript”. Why it’s like that?

---

<div class="post-metadata">

### Author: ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)
#### Post date: [December 15, 2022, 7:13pm UTC](https://forum.kirupa.com/t/javascript-return-statement-in-normal-vs-arrow-functions/655506/2 "2022-12-15T19:13:29Z")

</div>

When you remove the “=”, your code isn’t working as you may expect:

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/5/f/5f5dcc823cbe2bb185beeb822feb66c9206225cc.png)

It is returning **all** freelancers, including Mark whose skill is Python. The reason your code isn’t working is that you have _ **JavaScript** _ camel-cased in the freelancers object array, but you are checking for _ **Javascript** _ (sentence-cased).

This code should work better:

```auto
let freelancers = [{ name: "Harry", skill: "JavaScript" }, { name: "Mark", skill: "Python" }, { name: "David", skill: "JavaScript" }];

let newfreelancers = freelancers.filter(obj => obj.skill == "JavaScript");
console.log(newfreelancers);

```

🙂

---

<div class="post-metadata">

### Author: ![polaryeti](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/polaryeti/32/19283_2.png) [@polaryeti](https://forum.kirupa.com/u/polaryeti)
#### Post date: [December 16, 2022, 2:32am UTC](https://forum.kirupa.com/t/javascript-return-statement-in-normal-vs-arrow-functions/655506/3 "2022-12-16T02:32:00Z")

</div>

thank you.
