Jquery 使用reduce将数据从一个阵列获取到另一个阵列

Jquery 使用reduce将数据从一个阵列获取到另一个阵列,jquery,Jquery,我有一个按日期分组数据(提交消息)的脚本 我想添加一个链接到每个消息与个人沙 如何将第一个data对象中的这些数据包含到newData对象中,从而得到一个类似这样的变量:var commitur=gitHubUrl+sha可以添加到每个href 剧本: function fetchDatafromGitHub() { var user = "google"; var repo = "coding-with-chrome" var gitHubUrl = "https://github

我有一个按日期分组数据(提交消息)的脚本

我想添加一个链接到每个消息与个人沙

如何将第一个
data
对象中的这些数据包含到
newData
对象中,从而得到一个类似这样的变量:
var commitur=gitHubUrl+sha可以添加到每个
href

剧本:

function fetchDatafromGitHub() {
  var user = "google";
  var repo = "coding-with-chrome"
  var gitHubUrl = "https://github.com/" + user + "/" + repo + "/commit/";
  var url = "https://api.github.com/repos/" + user + "/" + repo + "/commits";
  $.ajax({
    type: 'GET',
    url: url,
    dataType: "json",
    success: function(data) {
      console.log(data);
      var newData = data.reduce((acc, el) => {
        var date = el.commit.committer.date;
        var msg = el.commit.message;
        var sha = el.sha;
        console.log(sha);
        var d = date.split('T')[0];
        if (acc.hasOwnProperty(d))
          acc[d].push(msg);
        else
          acc[d] = [msg];
        return acc;
      }, {})
      Object.keys(newData).forEach(function(v, k) {
        //console.log(newData);
        var date = v;
        var message = newData[v].join(", ");
        var t = new Date(date);
        var day = ("0" + (
          t.getDate())).slice(-2);
        var month = ("0" + (
          t.getMonth() + 1)).slice(-2);
        var year = t.getFullYear();
        //var commitUrl = gitHubUrl + sha;

        gitHubStats.append('<div>' + day + '/' + month + '/' + year + ': <a href="#" target="_blank">' + message + '</a></div>');
      });
    },
    error: function(xhr, status, error) {
      console.log(xhr.responseText);
    }
  });
}
函数fetchDatafromGitHub(){ var user=“谷歌”; var repo=“使用chrome编码” var gitHubUrl=”https://github.com/“+user+”/“+repo+”/commit/”; 变量url=”https://api.github.com/repos/“+user+”/“+repo+”/commits”; $.ajax({ 键入:“GET”, url:url, 数据类型:“json”, 成功:功能(数据){ 控制台日志(数据); var newData=数据减少((acc,el)=>{ var date=el.commit.committer.date; var msg=el.commit.message; var sha=el.sha; 控制台日志(sha); var d=拆分日期('T')[0]; 如果(根据hasOwnProperty(d)) acc[d]。推送(msg); 其他的 acc[d]=[msg]; 返回acc; }, {}) key(newData).forEach(函数(v,k){ //console.log(newData); var日期=v; var message=newData[v]。连接(“,”; var t=新日期(日期); 变量日=(“0”+( t、 getDate()).slice(-2); 变量月份=(“0”+( t、 getMonth()+1)).slice(-2); var year=t.getFullYear(); //var commitur=gitHubUrl+sha; 附加(“+day+'/”+month+'/“+year+':”); }); }, 错误:函数(xhr、状态、错误){ console.log(xhr.responseText); } }); }


非常感谢。

有很多可能的方法,请选择其中一种解决方案

在这里,我在newData对象中传递了带有href set和commitur的消息。并在最后一条消息中添加。希望能有帮助

var gitHubStats=$('body');
函数fetchDatafromGitHub(){
var user=“谷歌”;
var repo=“使用chrome编码”
var gitHubUrl=”https://github.com/“+user+”/“+repo+”/commit/”;
变量url=”https://api.github.com/repos/“+user+”/“+repo+”/commits”;
var-maxits=5;
$.ajax({
键入:“GET”,
url:url,
数据类型:“json”,
成功:功能(数据){
//控制台日志(数据);
var newData=数据减少((acc,el)=>{
var date=el.commit.committer.date;
var msg=el.commit.message;
var sha=el.sha;
var d=拆分日期('T')[0];
var commitur=gitHubUrl+sha;
var temp_消息=“”;
如果(根据hasOwnProperty(d))
acc[d]。推送(临时消息);
其他的
acc[d]=[temp_消息];
返回acc;
}, {})
key(newData).forEach(函数(v,k){
var日期=v;
//var message=newData[v]。连接(“,”;
var t=新日期(日期);
变量日=(“0”+(
t、 getDate()).slice(-2);
变量月份=(“0”+(
t、 getMonth()+1)).slice(-2);
var year=t.getFullYear();
//var commitur=gitHubUrl+sha;
附加(''+day+'/'+month+'/'+year+':'+newData[v]+'');
});
},
错误:函数(xhr、状态、错误){
console.log(xhr.responseText);
}
});
}
fetchDatafromGitHub()
div+div{
边缘顶部:10px;
边框顶部:1px实心#333;
填充:10px;
}

等等,很抱歉刚刚发现一个问题,您可以看到href设置不正确。好的,有什么解决方法?