gpt4 book ai didi

javascript - 创建分层动态 JS 对象

转载 作者:行者123 更新时间:2023-11-28 07:56:02 25 4
gpt4 key购买 nike

我的问题是我想构建一个动态的 JS 对象消息分层结构,并且没有数组。我在 stackoverflow、google 和许多其他网站上进行了很多搜索,但不幸的是没有找到解决方案,而且我对这个领域相当陌生。有很多关于数组的例子,但它们没有回答我的问题。这是我的结构。

{
"ID" : 1,
"SRC" : "SYS",
"LOG" : {
"PARAM" : {
"NUM" : 3,
"N01" : {
" TO " : 1,
" OM " : 1,
" NO " : 1,
" IO " : 1,
},
"N02" : {
" TO " : 2,
" OM " : 2,
" NO " : 2,
" IO " : 2,
},
"N03" : {
" TO " : 3,
" OM " : 3,
" NO " : 3,
" IO " : 3,
}
}
}}

如果下次只有N02存在,结构应该是这样的。等等...

{
"ID" : 1,
"SRC" : "SYS",
"LOG" : {
"PARAM" : {
"NUM" : 1,
"N02" : {
" TO " : 2,
" OM " : 2,
" NO " : 2,
" IO " : 2,
}}}}

例如,在 NUM 存在的情况下,应将 N01 添加到结构中。而如果N01不存在,而N02可用,则需要在层次结构中添加N02。我需要一些帮助才能在 JavaScript 中执行此操作。

最佳答案

我不确定我是否正确理解你的问题,但我会创建一个基本对象,例如

message = {
addParam: function (item) {
var paramLength = 0;
for (var k in this.LOG.PARAM) {
if (this.LOG.PARAM.hasOwnProperty(k)) {
paramLength++;
}
}
this.LOG.PARAM["NUM"] = paramLength;
this.LOG.PARAM["N"+paramLength] = item;
},
ID: 1,
SRC: "SYS",
LOG: {
PARAM: {
NUM: 0,
}
}
}
message.addParam({
" TO ": 1,
" OM ": 1,
" NO ": 1,
" IO ": 1,
});
document.getElementById("output").innerHTML = JSON.stringify(message, null, 4);
<div ><pre id="output"></pre></div>

所有属性都可以轻松修改,只需选择它(例如 message.ID)并添加一个值(例如 message.ID = 12)即可。

我还向该对象“addParam”添加了一个函数。这会将其他对象添加到 PARAM 属性,并更新数值。

关于javascript - 创建分层动态 JS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26076414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com