code: function getTrackInfo( list, keyOf ){
  
    var untrack = [], trackMap = {};
  
    for(var i = 0, len = list.length; i < len ; i++){
  
      var item = list[i];
      var trackKey = keyOf(list[i]);
  
      // can be stringify
      if( !trackMap.hasOwnProperty(trackKey) ){
  
        trackMap[ trackKey ] = i
      }else{
  
        untrack.push( i )
      }
    }
  
    return {
      untrack: untrack,
      trackMap: trackMap
    }
  }
docs: convert <Array>list to <Object>{ trackMap: <Map> trackMap, unmark: <Array> indextrackPair}