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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    数组对象混合,错位插入生成新数组
    56
    0
    问题:一个数组,每一项进行混合描述:错位进行插入,或者其他的排序思路// 输入let arr = [ [ { id: 1, time: '1:2' }, { id: 2, time: '1:3' }, { id: 3, time: '1:4' }, ], [ { id: 11, time: '1:2' }, { id: 22, time: '1:3' }, { id: 33, time: '1:4' }, ], [ { id: 21, time: '1:2' }, { id: 32, time: '1:3' }, { id: 43, time: '1:4' }, ],]// 目标输出let res = [ { id: 1, time: '1:2' }, { id: 11, time: '1:2' }, { id: 21, time: '1:2' }, { id: 2, time: '1:3' }, { id: 22, time: '1:3' }, { id: 32, time: '1:3' }, { id: 3, time: '1:4' }, { id: 33, time: '1:4' }, { id: 43, time: '1:4' },]function mixFn(arr) { let res = [] // some thing... return res}
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ︶紫魅 普通会员 1楼

      在JavaScript中,我们可以使用一些内置的函数和方法来实现数组对象混合、错位插入生成新数组的操作。以下是一个简单的示例:

      ```javascript function mixAndInsert(arr1, arr2, key) { var merged = []; var length = arr1.length; var keyIndex = arr2.findIndex(function(item) { return item[key] === key; });

      if (keyIndex === -1) {
          return merged;
      }
      
      merged.push(arr1[keyIndex]);
      arr1.splice(keyIndex, 1);
      
      merged.push(arr2[keyIndex]);
      arr2.splice(keyIndex, 1);
      
      return merged;
      

      }

      var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6]; var key = 'value';

      console.log(mixAndInsert(arr1, arr2, key)); // 输出: [1, 2, 'value', 4, 5, 6] ```

      在这个示例中,我们首先定义了一个名为mixAndInsert的函数,它接受三个参数:两个数组arr1arr2,以及一个键key。然后,我们创建了一个空数组merged,用于存储混合后的数组。

      接着,我们遍历arr1arr2,找到第一个与key相等的元素的索引。如果没有找到相等的元素,我们就将它们添加到merged数组中。

      然后,我们使用splice方法将arr1arr2中的相应元素删除。这样,arr1中的元素就会被arr2中的元素替代。

      最后,我们返回merged数组,它包含了混合后的数组。

      在上面的示例中,我们首先定义了两个数组arr1arr2,然后定义了一个键key。然后,我们调用mixAndInsert函数,将这两个数组和键key混合,然后打印出结果。

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