Javascript:unshift键值数组

时间:2018-01-19 21:28:01

标签: javascript html

我正在尝试在阵列的前面添加一个特定的项目,但我无法弄清楚如何做到这一点?我知道你是使用unshift进行的,但我不确定如何使用键值数组进行操作?

var outgoingHeaders = {
    "send_client_version": 1,
    "send_auth_ticket": 5
};

function sendPacket(packetName, packetData) {
    const packetId = outgoingHeaders[packetName];
    const packetArray = {'packet_id' : packetId };
    // TODO: Add packetArray at the start of packetData
    socket.send(JSON.stringify(packetData));
}

调用它的示例......

sendPacket('send_auth_ticket', {
    'auth_ticket' : authTicket,
});

2 个答案:

答案 0 :(得分:0)

您可以使用concat数组方法,例如:

function sendPacket(packetName, packetData) {
  const packetId = outgoingHeaders[packetName];
  const packetArray = [{'packet_id' : packetId }];
  const data = packetArray.concat(packetData);
  socket.send(JSON.stringify(packetData));
}

关于这一点很好,你保持变量的不变性:)

答案 1 :(得分:0)

由于您没有提供任何JSON示例,因此这是一个建议:

var outgoingHeaders = {
  "nameee" : 33
}


function sendPacket(packetName, packetData) {
    var packetId = outgoingHeaders[packetName];
    var packetArray = {'packet_id' : packetId };
    // TODO: Add packetArray on the front of packetData
    packetData.unshift(packetArray);
    console.log(JSON.stringify(packetData, null, 4));
}




sendPacket("nameee", [{'packet_id' : 14 }, {'packet_id' : 5 }])