Depending on what you want to do with the data, you can filter the array and only output the values you are looking for or use a switch node like @craigcurtin suggested that will pass the message if it matches.
The array may be in a different order when it arrives, getting the first or second element is not the proper way to do this.
With a function node you can filter them (either based on label or channelId):
const input = msg.payload.readingList
const needle = ["battery", "temperature"]
const result = input.filter(i => needle.some(value => i.label.includes(value)))
msg.payload = result
return msg;
Or:
const input = msg.payload.readingList
const needle = [1,3]
const result = input.filter(i => needle.some(value => i.channelId.toFixed().includes(value)))
msg.payload = result
return msg;
This will only return the filtered elements from the array.
example flow
[{"id":"289cc6bd20821bcf","type":"inject","z":"6c52c1f71d120b99","name":"with battery","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"readingList\":[{\"channelId\":3,\"type\":\"temperature\",\"value\":21.7,\"label\":\"temperature\"},{\"channelId\":1,\"type\":\"percentage\",\"value\":25,\"label\":\"battery\"},{\"channelId\":5,\"type\":\"blabla\",\"value\":21.7,\"label\":\"something else\"}]}","payloadType":"json","x":238,"y":384,"wires":[["ff1f04cb9d619db9","caafbdd9eedf738e"]]},{"id":"ff1f04cb9d619db9","type":"function","z":"6c52c1f71d120b99","name":"based on label","func":"const input = msg.payload.readingList\nconst needle = [\"battery\", \"temperature\"]\nconst result = input.filter(i => needle.some(value => i.label.includes(value)))\n\nmsg.payload = result\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":464,"y":384,"wires":[["e194110390ce0dd5"]]},{"id":"fe98b4d4d175176c","type":"inject","z":"6c52c1f71d120b99","name":"without battery","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"readingList\":[{\"channelId\":3,\"type\":\"temperature\",\"value\":21.7,\"label\":\"temperature\"}]}","payloadType":"json","x":224,"y":432,"wires":[["ff1f04cb9d619db9","caafbdd9eedf738e"]]},{"id":"e194110390ce0dd5","type":"debug","z":"6c52c1f71d120b99","name":"debug 2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":684,"y":408,"wires":[]},{"id":"caafbdd9eedf738e","type":"function","z":"6c52c1f71d120b99","name":"based on channelId","func":"const input = msg.payload.readingList\nconst needle = [1,3]\nconst result = input.filter(i => needle.some(value => i.channelId.toFixed().includes(value)))\n\nmsg.payload = result\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":474,"y":432,"wires":[["e194110390ce0dd5"]]}]