假设我有几个 javascript 对象
{"type":"gotopage","target":"undefined"}
{"type":"press","target":"a"}
{"type":"rotate","target":"long"}
如何将此对象添加到另一个对象,例如
config={}
如果每个插入的对象都有一个我可以添加为的 id,我知道如何:
config["id"]={}
但在这种情况下,如何添加没有 id 的对象?
假设我有几个 javascript 对象
{"type":"gotopage","target":"undefined"}
{"type":"press","target":"a"}
{"type":"rotate","target":"long"}
如何将此对象添加到另一个对象,例如
config={}
如果每个插入的对象都有一个我可以添加为的 id,我知道如何:
config["id"]={}
但在这种情况下,如何添加没有 id 的对象?
var obj1 = {"type":"gotopage","target":"undefined"};
var config = {};
config.obj1 = obj1;
您以后可以随时添加它们。
var obj1 = {"type":"gotopage","target":"undefined"};
var config = {};
config.obj1 = obj1;
var obj2 = {"key":"data"};
config.obj2 = obj2;
我认为您正在混淆对象和数组。对象有命名键,数组有数字键。您可以使用以下方法轻松附加到数组.push()
:
var arr = [];
arr.push("something");
但是,对于变量名称所暗示的配置对象,这并不是很有用。您应该为您的选项使用有意义的名称,例如:
var config = {
something: 'blah',
foo: 'bar'
};
您还可以在对象中存储一个数组:
config.manyStuff = [];
for(...) {
manyStuff.push(...);
}
如果您拥有的这些数据属于同一类型,请改用数组:
var some_data = {"type":"gotopage","target":"undefined"}
var config = [];
var config.push(some_data); //and do this for the rest
您可以像这样访问配置项:
var someVariable = config[index]; //where index is a number starting from 0
如果要添加对象,可以使用使用扩展运算符轻松添加。
示例->
object1 = { property1: 1, property2: 2}
finalObject = [{...object1}]
finalObject = {...object1}
并根据您的问题解决方案在此处使用数组对象
finalObject = [{...object1}]
object1 = { property1: 1, property2: 2}
finalObject = [{...object1}]
document.getElementById("demo").innerHTML = JSON.stringify(finalObject);
<div id = "demo"></div>
我正在使用这个实用功能:
module.exports.combine = function() {
var rv = {};
for (i = 0; i < arguments.length; i++) {
for (thing in arguments[i]) {
rv[thing]=arguments[i][thing];
}
}
return rv;
}
具有相同名称的属性将被后面的参数中的属性覆盖
var util = require('lib/util.js');
console.log(util.combine(
{"1":"one","two":function(){;},
{"four":{"four.5":"four.5-b"}, "5":"foo"}});
结果:
{ '1': 'one',
'5': 'foo',
two: [Function],
four: { 'four.5': 'four.5-b' } }
如果您希望在初始化期间添加它们,这可能会对您有所帮助:
var config = [
{"type":"gotopage","target":"undefined"},
{"type":"press","target":"a"},
{"type":"rotate","target":"long"}
]