如何将值添加到JSON对象?

Dam*_*ano 6 javascript json

我创建了一个数组:

var msg = new Array();
Run Code Online (Sandbox Code Playgroud)

那么,我有一个为这个数组添加值的函数,这个函数是:

function add(time, user, text){
    var message = [time, user, text];
    if (msg.length >= 50)
        msg.shift();

    msg.push(message);        
}
Run Code Online (Sandbox Code Playgroud)

如您所见,如果数组有50个或更多元素,我将删除第一个元素.shift().然后我添加一个数组作为元素.

好吧,代码工作得很好,但现在我必须循环msg数组来创建一个JSON obj.

JSON对象应具有以下格式:

var obj = [
{'time' : time, 'user' : user, 'text' : text},
{'time' : time, 'user' : user, 'text' : text},
{'time' : time, 'user' : user, 'text' : text}
]
Run Code Online (Sandbox Code Playgroud)

我的意思是...我必须循环msg数组,然后将所有值存储在JSON对象中.我不知道如何在json obj中"连接"数组元素.

你可以帮帮我吗?

非常感谢你提前!

Luc*_*eis 9

我将从你的添加功能给你一个例子:

function add(time, user, text){
    // this line is all I changed
    var message = {'time' : time, 'user' : user, 'text' : text};

    if (msg.length >= 50)
        msg.shift();

    msg.push(message);        
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,消息变量不再是一个数组,而是它想要的对象.

从这里你应该能够找出如何创建一个新数组并添加你想要的值.