是否有类似 .push 的功能可以动态地向对象添加值?
Is there a .push like feature to dynamically add values to an object?
使用 arrays
时,您可以使用 .push
方法向数组动态添加新值。使用对象时是否可以做同样的事情?
例如,我有一个文本框,在用户输入内容并单击“添加”后,您能否将值添加到对象以便保存每个值,例如
示例:
{
message: "This is the first message",
message: "This is the second message",
message: "Third message etc"
}
代码:
$(document).ready(function() {
// var objArray = [];
var objObject = {};
$('#icecream').on('click', function() {
$(this).animate({'height': '200px'}, 300);
});
$('#add').on('click', function() {
var value = $('#icecream').val();
// objArray.push(value);
// console.log(objArray);
objObject = {
message: value,
}
console.log(objObject);
});
});
我想你要找的只是objObjects.message='This is the second message';
如果你真的想保留每一个,也许你需要一个数组:
objObjects.messages = [
'This is the first message',
'This is the second message',
// etc
];
这里data
是jQueryobject
。 Object
必须需要 key
和 value
对。
data.message = "This is the first message";
你可以这样做:
objObject.message = "...";
在对象末尾添加 属性 将其作为变量添加到该对象中。
{
message: "This is the first message",
message: "This is the second message",
message: "Third message etc"
}
这不是一个有效的对象。你不能有相同的 属性 三次(键必须是唯一的)。
你可能需要一个数组:
var messageObj = {
messages: [
"This is the first message",
"This is the second message",
"Third message etc"
]};
添加新消息将是:
messageObj.messages.push("Forth message");
您可以向对象动态添加属性:
var obj = {};
var propName = "message";
var propVal = "This is a message";
obj[propName] = propVal;
console.log(obj); // { message: "This is a message" }
使用 arrays
时,您可以使用 .push
方法向数组动态添加新值。使用对象时是否可以做同样的事情?
例如,我有一个文本框,在用户输入内容并单击“添加”后,您能否将值添加到对象以便保存每个值,例如
示例:
{
message: "This is the first message",
message: "This is the second message",
message: "Third message etc"
}
代码:
$(document).ready(function() {
// var objArray = [];
var objObject = {};
$('#icecream').on('click', function() {
$(this).animate({'height': '200px'}, 300);
});
$('#add').on('click', function() {
var value = $('#icecream').val();
// objArray.push(value);
// console.log(objArray);
objObject = {
message: value,
}
console.log(objObject);
});
});
我想你要找的只是objObjects.message='This is the second message';
如果你真的想保留每一个,也许你需要一个数组:
objObjects.messages = [
'This is the first message',
'This is the second message',
// etc
];
这里data
是jQueryobject
。 Object
必须需要 key
和 value
对。
data.message = "This is the first message";
你可以这样做:
objObject.message = "...";
在对象末尾添加 属性 将其作为变量添加到该对象中。
{
message: "This is the first message",
message: "This is the second message",
message: "Third message etc"
}
这不是一个有效的对象。你不能有相同的 属性 三次(键必须是唯一的)。
你可能需要一个数组:
var messageObj = {
messages: [
"This is the first message",
"This is the second message",
"Third message etc"
]};
添加新消息将是:
messageObj.messages.push("Forth message");
您可以向对象动态添加属性:
var obj = {};
var propName = "message";
var propVal = "This is a message";
obj[propName] = propVal;
console.log(obj); // { message: "This is a message" }