stevenjin 2024-10-19 15:38 采纳率: 98%
浏览 2
已结题

jquery母表字段只能固定添加,求改善方法

jquery
1.母表与子表字段不固定
2.特别注意:母表字段不固定指的是同一个母表数组元素中,其字段也不固定


//数据格式
var childArray = [
    { "ChildId": 1, "ChildName": "Child 1" },
    { "ChildId": 2, "ChildName": "Child 2" }
];
 
 
var parentArray = [
    { "ParentId": 1, name:"Country",”不固定1“,"不固定2",”更多“,"Children": childArray }//不同母表字段的数据格式1
    { "ParentId": 1, name:"Country",”"Children": childArray }//不同母表字段的数据格式2
];
 
//待完善示例
const parentArr = [];
const childArray = [];
// 定义添加子数组元素的方法
function addChildItem (cId, cName) {
  childArray.push({
    ChildId: cId,
    ChildName: cName,
  })
}
// 定义添加父数组元素的方法
function addParentItem (parentId, name, childArr) {
  parentArr.push({
    ParentId: parentId,
    name,
    childArray: childArr,
  })
}
addChildItem(1, 'Child 1');
addChildItem(2, 'Child 2');
addParentItem(1, 'Country', childArray);//这里母表字段只能固定添加。如这样则不可addParentItem(1, 'Country', ”不固定1“,childArray)
console.log(parentArr);
  • 写回答

1条回答 默认 最新

  • 无疆76 2024-10-19 15:39
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从你给出的代码示例来看,你想要实现在添加父级数组元素时,能够灵活地添加不同的字段。目前你的代码只能固定地添加一些字段,这限制了你的使用场景。为了改善这个问题,你可以考虑使用一种更加灵活的方式来处理父级数组元素的添加。

    一个可能的解决方案是使用对象的动态属性来存储不固定的字段。这样,你可以在添加父级元素时,根据需要动态地添加任意数量的字段。以下是改进后的代码示例:

    // 数据格式
    var childArray = [
        { "ChildId": 1, "ChildName": "Child 1" },
        { "ChildId": 2, "ChildName": "Child 2" }
    ];
    
    var parentArray = []; // 修改为只存储父级对象的数组
    
    // 定义添加子数组元素的方法
    function addChildItem(cId, cName) {
      childArray.push({
        ChildId: cId,
        ChildName: cName
      });
    }
    
    // 定义添加父数组元素的方法,使用动态属性来存储不固定的字段
    function addParentItem(parentId, name, additionalFields, childArr) {
      var parentObj = {
        ParentId: parentId,
        name: name,
        Children: childArr
      };
      
      // 添加额外的字段到父级对象中
      for (var key in additionalFields) {
        parentObj[key] = additionalFields[key];
      }
      
      parentArray.push(parentObj);
    }
    
    addChildItem(1, 'Child 1');
    addChildItem(2, 'Child 2');
    
    // 添加父级元素,并带有额外的字段
    addParentItem(
      1, 
      'Country', 
      { 
        "不固定1": "value1", 
        "不固定2": "value2", 
        "更多": "extra info" 
      }, 
      childArray
    );
    
    console.log(parentArray);
    

    在这个改进的版本中,addParentItem 函数接受一个额外的 additionalFields 参数,这个参数是一个对象,你可以在其中定义任意数量的键值对,用来表示父级对象的额外字段。这样,你就可以根据需要灵活地添加不同的字段到父级数组中。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月21日
  • 修改了问题 10月19日
  • 创建了问题 10月19日

悬赏问题

  • ¥60 Matlab联合CRUISE仿真编译dll文件报错
  • ¥15 脱敏项目合作,ner需求合作
  • ¥15 脱敏项目合作,ner需求合作
  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId