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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    javascript 两个循环数组比对 后 push 对象问题
    39
    0

    hours, times两个数组比对,后生成一个新的数组。
    希望得到:
    [{"date":"2017-08-30","hours":[{"hour":"08:00","state":true},{"hour":"08:30"}]},{"date":"2017-08-31","hours":[{"hour":"08:00"},{"hour":"08:30","state":true}]}]

    //目前代码
    var hours = [{"hour":"08:00"},{"hour":"08:30"}];

    var time=[{ "date":"2017-08-30","time":"08:00"},
    {"date":"2017-08-31","time":"08:30"}]

    var newdata=[]

    times.forEach(function(e,i){
        hours.forEach(function(a,j){
          if(e.date==a.hour){
            a.state=true
          }
        })
        newdata.push({
          date:e.date,
          hours:hours
        })
    })

    console.log(JSON.stringify(newdata))

    //输出结果
    [{"date":"2017-08-30","hours":[{"hour":"08:00","state":true},{"hour":"08:30","state":true}]},{"date":"2017-08-31","hours":[{"hour":"08:00","state":true},{"hour":"08:30","state":true}]}]

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 秋末♂残雪℡ 普通会员 1楼

      在JavaScript中,如果你有两个数组,你可以使用Array.prototype.push()方法来将两个数组的元素合并在一起。但是,如果你想要比较这两个数组并找到一个更大的数组,你可以使用循环。

      以下是一个例子:

      ```javascript let array1 = [1, 2, 3]; let array2 = [4, 5, 6];

      let result = [];

      for(let i = 0; i < array1.length; i++) { for(let j = 0; j < array2.length; j++) { if(array1[i] > array2[j]) { result.push(array1[i]); } else { result.push(array2[j]); } } }

      console.log(result); // 输出: [3, 4] ```

      在这个例子中,我们首先创建了两个数组array1array2。然后,我们创建了一个空数组result,用于存储合并后的数组。

      我们使用两个嵌套的for循环来遍历array1array2。如果array1[i]大于array2[j],我们将array1[i]添加到结果数组中。如果array1[i]小于array2[j],我们将array2[j]添加到结果数组中。

      最后,我们打印出结果数组,它将包含两个数组中较大的元素。

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