切片对象的原型

时间:2015-02-24 07:47:45

标签: javascript angularjs underscore.js

假设我有一个对象 -

{ id: 1,
  name: "Alice",
  color: "red"
}

现在我想根据它的一个属性 -

来切割这个对象

例如,如果我选择了属性id - 对象将变为 - {id: 1}

在javascript或角度或下划线框架中是否有任何原型方法(请不要在你的答案中实现它,我知道如何实现它,我只是在寻找原型方法)?

2 个答案:

答案 0 :(得分:1)

它不是原型,但似乎是你正在寻找的 https://lodash.com/docs#pick

答案 1 :(得分:1)

你可以这样写:

Object.prototype.slice_param = function(obj, param){
  for(p in obj){
    if(obj.hasOwnProperty(p) && p !== param){
       delete obj[p];
    }
  }
}

并使用它:

Object.prototype.slice_param(yourObject, theParamYouWantToKeep);

或使用Underscore's pick methodLodash's pick method