递归

代码转自 codewars:http://www.codewars.com/
var data = {
  id: 1,
  items: [
    {id: 2},
    {id: 3, items: [
      {id: 4},
      {id: 5}
    ]}
  ]
}

function extractIds(data){
  var arr = [];
  if(data.id){
    arr.push(data.id);
  }
  
  if(data.items){
    for(var i in data.items){
      var subData = extractIds(data.items[i]);
      for(var j in subData){
        arr.push(subData[j]);
      }
    }
  }
  return arr ;
}

console.log(extractIds(data)); // should return [1,2,3,4,5]

矩阵求和

function matrixAddition(a, b){
    var c = [] ;
    for(var i in a){
        c[i] = [];
        for(var j in a[i]){
            c[i][j] = a[i][j] + b[i][j]
        }
    }
  
    return c
}

console.log(matrixAddition( [ [1, 2, 3], [3, 2, 1,], [1, 1, 1] ], [ [2, 2, 1], [3, 2, 3], [1, 1, 3] ] ));
posted @ 2014-01-22 18:05  星堡a  阅读(131)  评论(0编辑  收藏  举报