# Help with function node -string type output

**URL:** https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208
**Category:** General
**Created:** [30 August 2020 08:47 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208 "2020-08-30T08:47:35Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![diaz\_1988](https://avatars.discourse-cdn.com/v4/letter/d/e68b1a/32.png) [@diaz\_1988](https://discourse.nodered.org/u/diaz_1988)
#### Post date: [30 August 2020 08:47 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/1 "2020-08-30T08:47:35Z")

</div>

Hey all can can someone advise how to make this function node to work

if (msg.payload === "A") {  
return ["true" , "false" , "false" , "false" , "false" , "false" ,"false"];  
}  
else if (msg.payload === "B"){  
return ["false", "true", "false", "false", "false", "false" ,"false"];  
}  
else if (msg.payload === "C"){  
return ["false", "false", "true", "false", "false", "false" ,"false"];  
}  
else if (msg.payload === "D"){  
return ["false", "false", "false", "true", "false", "false" ,"false"];  
}  
else if (msg.payload === "E"){  
return ["false", "false", "false", "false", "true", "false" ,"false"];  
}  
else if (msg.payload === "1"){  
return ["false", "false", "false", "false", "false", "true" ,"false"];  
}  
else if (msg.payload === "0"){  
return ["false" , "false", "false", "false", "false", "false" ,"false"];

}

It says that function tried to sent a message of type string

Thanks

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [30 August 2020 09:23 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/2 "2020-08-30T09:23:53Z")

</div>

Hi. So few things...

1. Returning an array from a function node is intended for when you have multiple outputs on the function note.

2. the return value from a function node must always be an object (or array of objects). If you intend on sending an array, assign it to the message payload property.

Try this....

```auto
msg.payload = ["false" , "false", "false", "false", "false", "false" ,"false"]
return msg;

```

---

<div class="post-metadata">

### Author: ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)
#### Post date: [30 August 2020 10:31 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/3 "2020-08-30T10:31:42Z")

</div>

To simplify the function node (less maintenance)

```auto
m = msg.payload

char = "ABCDE10".split("")
out = [false,false,false,false,false,false,false] // default all false
o = char.indexOf(m)

if(char[o]!=="0"){
    out[o] = true
}

return {payload:out}

```

ie; all false unless...

example output

```auto
{"payload":[true,false,false,false,false,false,false],"input":"A"}
{"payload":[false,false,true,false,false,false,false],"input":"C"}

```

---

<div class="post-metadata">

### Author: ![diaz\_1988](https://avatars.discourse-cdn.com/v4/letter/d/e68b1a/32.png) [@diaz\_1988](https://discourse.nodered.org/u/diaz_1988)
#### Post date: [30 August 2020 11:01 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/4 "2020-08-30T11:01:56Z")

</div>

Thanks guys both methods working perfect

---

<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: [30 August 2020 11:16 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/5 "2020-08-30T11:16:59Z")

</div>

@bakman2 - where does the `...,"input":"A"}` come from in your example?

---

<div class="post-metadata">

### Author: ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)
#### Post date: [30 August 2020 11:34 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/6 "2020-08-30T11:34:58Z")

</div>

Magic!

it was to show that it the input matches with the expected output.

---

<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: [30 August 2020 13:28 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/7 "2020-08-30T13:28:45Z")

</div>

Hmmm, I wish I had that magic since I didn't get that using your code 😟

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [29 October 2020 13:28 UTC](https://discourse.nodered.org/t/help-with-function-node-string-type-output/32208/8 "2020-10-29T13:28:46Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
