One way to create a fixed length (n) array from payloads is to use a batch node with overlap of n-1 and then a join node set to n to make an array, eg
[{"id":"06ac92f4adfa46d8","type":"batch","z":"8a4471faf1092e03","name":"","mode":"count","count":"5","overlap":"4","interval":10,"allowEmptySequence":false,"topics":[],"x":300,"y":780,"wires":[["6e0211cde6d7ebdc"]]},{"id":"0a1ded4c3fc93ad5","type":"inject","z":"8a4471faf1092e03","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":780,"wires":[["06ac92f4adfa46d8"]]},{"id":"ba2ab50b58e0f402","type":"debug","z":"8a4471faf1092e03","name":"debug 6","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":600,"y":780,"wires":[]},{"id":"6e0211cde6d7ebdc","type":"join","z":"8a4471faf1092e03","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"5","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":450,"y":780,"wires":[["ba2ab50b58e0f402"]]}]
the limitation is that it doesn't output anything until after the first n readings.