# How to split like "value in array"

**URL:** <https://discourse.nodered.org/t/how-to-split-like-value-in-array/14923>\
**Category:** General\
**Created:** [29 August 2019 20:37 UTC](https://discourse.nodered.org/t/how-to-split-like-value-in-array/14923 "2019-08-29T20:37:16Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SeRiusRod](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@SeRiusRod](https://discourse.nodered.org/u/SeRiusRod)\
**Post date:** [29 August 2019 20:37 UTC](https://discourse.nodered.org/t/how-to-split-like-value-in-array/14923/1 "2019-08-29T20:37:16Z")

</div>

I'n trying to separate one flow depending if one property is included in a set of values or in other. By now it only has two options (two different sets) but today may have more.  
I'm trying to acomplish this in a function node. I would prefer it in a split module for optimization, but still don't have the skills.  
Anyways none of the JS methods I know work there. This is the function:

```auto
const sensors = [1,4,5,6,7,8,9,10,11];
const actuators = [2,3];

//if (sensors.includes({msg.subType})){ // Doesn't work.
if ($.inArray({msg.subType},sensors) > -1) // Also doesn't work
    return msg, null;
else if ($.inArray({msg.subType},actuators) > -1) // Also doesn't work
    return null, msg;
    
return null,null;

```

I would thank some help from a more experienced node-red user.

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [29 August 2019 20:48 UTC](https://discourse.nodered.org/t/how-to-split-like-value-in-array/14923/2 "2019-08-29T20:48:48Z")

</div>

Show us the actual data. Put a debug node on the output of what ever is feeding your function node and change the debug node to display the complete msg object

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [29 August 2019 20:54 UTC](https://discourse.nodered.org/t/how-to-split-like-value-in-array/14923/3 "2019-08-29T20:54:03Z")

</div>

> [@SeRiusRod](#):
>
> $.inArray

That is a jQuery function that isn't needed in modern javascript. Nor is it available in the node.js runtime environment.

Assuming you want to check if the value of `msg.subType` appears in the `sensors` and `actuators` arrays, you can do:

```auto
const sensors = [1,4,5,6,7,8,9,10,11];
const actuators = [2,3];

if (sensors.indexOf(msg.subType) > -1)
    return [msg, null];
else if (actuators.indexOf(msg.subType) > -1)
    return [null, msg];

return;

```

For reference, see [MDN's docs on Array.indexof](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf).

---

<div class="post-metadata">

**Author:** ![SeRiusRod](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@SeRiusRod](https://discourse.nodered.org/u/SeRiusRod)\
**Post date:** [30 August 2019 16:28 UTC](https://discourse.nodered.org/t/how-to-split-like-value-in-array/14923/4 "2019-08-30T16:28:49Z")

</div>

That's it! Thanks @knolleary.  
Do you think it would be possible by only using switch nodes?
