[AngularJS]增加$filter功能 轉換key value 傳入(scope,array,key,value)

摘要:[AngularJS]新增$filter 轉換key value (傳入scope,array,key,value)

在module 內 新增filter

 

  //新增功能 keyToVal 加入$filter 功能
  app.filter('keyToVal',['$filter',function($filter){
    //傳入 資料,比對陣列,比對key值,轉出value值
    return function(scope,array,key,value){
      //將要比對的物件做組合
      var condition={};
      //如沒傳入scope值 預設為空
      condition[key]=scope|null;
      //將比對的陣列 與 物件 丟到filter 裡面
      var data = $filter('filter')(
        array || [],
        condition
      );
      //將取得的第一筆資料return
      if (data.length)
        return data[0][value];
    };
  }]);

之後就可在其他地方使用這個filter的功能

 

  var data =$filter('keyToVal')(scope,array,key,value);  

 

以下為範例

See the Pen $filter use array change key to value by yi-chan (@yi-chan-chiang) on CodePen.