Javascript JS中的递增数组

Javascript JS中的递增数组,javascript,Javascript,我正试图把最新消息列在最上面。这是红色的。我有一个4行的LCD,我想在上面显示寻呼机信息 对我来说,这应该可以,但它不能,只是在最后一行显示消息,不会添加新消息 var message = []; message.splice(4,0,msg.message); message.splice(0,1); msg.payload1 = message[0]; msg.payload2 = message[1]; msg.payload3 = message[2]; msg.payload4 =

我正试图把最新消息列在最上面。这是红色的。我有一个4行的LCD,我想在上面显示寻呼机信息

对我来说,这应该可以,但它不能,只是在最后一行显示消息,不会添加新消息

var message = [];

message.splice(4,0,msg.message);
message.splice(0,1);

msg.payload1 = message[0];
msg.payload2 = message[1];
msg.payload3 = message[2];
msg.payload4 = message[3];
return msg;
这里是节点红色流

[{"id":"dd82941d.5b65c8","type":"function","z":"4cce1974.6fb398","name":"Format Pager Message","func":"var str = msg.payload;\nvar pager = str.substring(9,16);\nvar length = str.length - 2;\nvar message = str.substring(17,length);\nmsg.pager = pager;\nmsg.message = message;\nreturn msg;","outputs":1,"noerr":0,"x":311,"y":195,"wires":[["2b7dc9b1.c01356"]]},{"id":"188de5a3.ba258a","type":"rpi-lcd","z":"4cce1974.6fb398","name":"","pins":"12,7,8,25,24,23","x":1113,"y":195,"wires":[]},{"id":"f66dd00d.9b67e","type":"template","z":"4cce1974.6fb398","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"1:{{payload1}}\n2:{{payload2}}\n3:{{payload3}}\n4:{{payload4}}","x":942,"y":193,"wires":[["188de5a3.ba258a"]]},{"id":"d6971b25.349b38","type":"debug","z":"4cce1974.6fb398","name":"","active":true,"console":"false","complete":"true","x":717,"y":245,"wires":[]},{"id":"7ee7f56e.176e5c","type":"inject","z":"4cce1974.6fb398","name":"","topic":"test","payload":"0123456789abcdefgHello Worldyz","payloadType":"str","repeat":"","crontab":"","once":false,"x":115,"y":229,"wires":[["dd82941d.5b65c8"]]},{"id":"2b7dc9b1.c01356","type":"function","z":"4cce1974.6fb398","name":"Stack Messages","func":"var message = [];\n\nmessage.splice(4,0,msg.message);\nmessage.splice(0,1);\n\nmsg.payload1 = message[0];\nmsg.payload2 = message[1];\nmsg.payload3 = message[2];\nmsg.payload4 = message[3];\nreturn msg;","outputs":1,"noerr":0,"x":539,"y":194,"wires":[["f66dd00d.9b67e","d6971b25.349b38"]]}]
用于将项目添加到阵列的前端。别把它弄乱了

message.unshift(msg)
用于从数组中删除最后一个元素

while (message.length > 4) {
    message.pop();
}

使用全局变量求解

//Check array.length less than 3 (4 items only in array, pops last item)
if(context.global.array.length < 4){
    context.global.array.push(msg.payload);
}else{
    context.global.array.push(msg.payload);
    context.global.array.shift();
}

msg.payload = context.global.array.toString();
msg.payload1 = context.global.array[3];
msg.payload2 = context.global.array[2];
msg.payload3 = context.global.array[1];
msg.payload4 = context.global.array[0];
return msg;
//检查数组。长度小于3(数组中仅4项,弹出最后一项)
if(context.global.array.length<4){
context.global.array.push(msg.payload);
}否则{
context.global.array.push(msg.payload);
context.global.array.shift();
}
msg.payload=context.global.array.toString();
msg.payload1=context.global.array[3];
msg.payload2=context.global.array[2];
msg.payload3=context.global.array[1];
msg.payload4=context.global.array[0];
返回味精;

问题是什么?是的,你真正的问题是什么?您当前的代码是否引发异常?请再多给我一点信息:)没用@詹姆斯布莱克威尔我们仍然不知道什么不起作用。您尚未指定我们确定问题所在所需的任何其他信息。我们不应该为您调试代码。很抱歉,这是一个非常新的问题!我在指控一个数组方面做得对吗?谢谢你的回答,不幸的是,这只改变了第一个数组,却没有推倒下一个数组:(@JamesBlackwell-它确实推倒了下一个数组。来吧@JamesBlackwell,看看那个家伙的分数:p你怎么能说它不做他说的:)我已经知道会犯错误,但如果你要说它不工作,那么提供一个必须是节点红色的东西,因为我不能让它工作