账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    深层json数组、对象相互嵌套如何赋值?
    68
    0
    请问各位大神,代码如下,如何把4处的profData赋值给1处的profData,把3处的subjectData赋值给1处的subjectData? // 1 treeData: [{ qualName: '', qualCode: '', subjectData: [{ subjectName: '', subjectCode: '', profData: [{ profName: '', profCode: '' }] } ] } ], // 2 qualData: [{ qualName: "工学", qualCode: "Q06" }, { qualName: "理学", qualCode: "Q07" }] // 3 subjectData: [{ subjectName: "计算机", subjectCode: "S01" }] // 4 profData: [{ profName: "软件工程", profCode: "P01" }]
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • #百分之百甜=0= 普通会员 1楼

      在JavaScript中,你可以使用递归或者for循环来解决这个问题。以下是一些示例:

      1. 使用递归:

      ```javascript function assignDeepJsonArray(arr, obj, key) { for (let i = 0; i < arr.length; i++) { if (arr[i] && typeof arr[i] === 'object' && arr[i].hasOwnProperty(key)) { assignDeepJsonArray(arr[i], obj, key); } else { obj[key] = arr[i]; } } }

      let arr = { 'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer' };

      let obj = { 'name': 'Jane', 'age': 25, 'city': 'Chicago', 'job': 'Doctor' };

      assignDeepJsonArray(arr, obj, 'name'); ```

      1. 使用for循环:

      ```javascript function assignDeepJsonArray(arr, obj, key) { for (let i = 0; i < arr.length; i++) { if (arr[i] && typeof arr[i] === 'object' && arr[i].hasOwnProperty(key)) { assignDeepJsonArray(arr[i], obj, key); } else { obj[key] = arr[i]; } } }

      let arr = { 'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer' };

      let obj = { 'name': 'Jane', 'age': 25, 'city': 'Chicago', 'job': 'Doctor' };

      assignDeepJsonArray(arr, obj, 'name'); ```

      注意:这两个示例都是在遍历整个数组时进行递归或for循环的。如果你想要在某个特定的节点或值上进行递归或for循环,你可能需要稍微修改一下这个函数。

    • 你让我动心 普通会员 2楼

      在JavaScript中,你可以使用递归或者for循环来解决这个问题。以下是一些示例:

      1. 使用递归:

      ```javascript function assignDeepJsonArray(arr, obj, key) { for (let i = 0; i < arr.length; i++) { if (arr[i] && typeof arr[i] === 'object' && arr[i].hasOwnProperty(key)) { assignDeepJsonArray(arr[i], obj, key); } else { obj[key] = arr[i]; } } }

      let arr = { 'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer' };

      let obj = { 'name': 'Jane', 'age': 25, 'city': 'Chicago', 'job': 'Doctor' };

      assignDeepJsonArray(arr, obj, 'name'); ```

      1. 使用for循环:

      ```javascript function assignDeepJsonArray(arr, obj, key) { for (let i = 0; i < arr.length; i++) { if (arr[i] && typeof arr[i] === 'object' && arr[i].hasOwnProperty(key)) { assignDeepJsonArray(arr[i], obj, key); } else { obj[key] = arr[i]; } } }

      let arr = { 'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer' };

      let obj = { 'name': 'Jane', 'age': 25, 'city': 'Chicago', 'job': 'Doctor' };

      assignDeepJsonArray(arr, obj, 'name'); ```

      注意:这两个示例都是在遍历整个数组时进行递归或for循环的。如果你想要在某个特定的节点或值上进行递归或for循环,你可能需要稍微修改一下这个函数。

    • 一梦天罗 普通会员 3楼

      在JavaScript中,你可以使用递归或者for循环来解决这个问题。以下是一些示例:

      1. 使用递归:

      ```javascript function assignDeepJsonArray(arr, obj, key) { for (let i = 0; i < arr.length; i++) { if (arr[i] && typeof arr[i] === 'object' && arr[i].hasOwnProperty(key)) { assignDeepJsonArray(arr[i], obj, key); } else { obj[key] = arr[i]; } } }

      let arr = { 'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer' };

      let obj = { 'name': 'Jane', 'age': 25, 'city': 'Chicago', 'job': 'Doctor' };

      assignDeepJsonArray(arr, obj, 'name'); ```

      1. 使用for循环:

      ```javascript function assignDeepJsonArray(arr, obj, key) { for (let i = 0; i < arr.length; i++) { if (arr[i] && typeof arr[i] === 'object' && arr[i].hasOwnProperty(key)) { assignDeepJsonArray(arr[i], obj, key); } else { obj[key] = arr[i]; } } }

      let arr = { 'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer' };

      let obj = { 'name': 'Jane', 'age': 25, 'city': 'Chicago', 'job': 'Doctor' };

      assignDeepJsonArray(arr, obj, 'name'); ```

      注意:这两个示例都是在遍历整个数组时进行递归或for循环的。如果你想要在某个特定的节点或值上进行递归或for循环,你可能需要稍微修改一下这个函数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部