如何使用lodash从对象中删除属性?

DiP*_*Pix 0 javascript lodash

这是我的对象:

var obj = {
  "flag": false,
  "text": "good text",
  "someArray": [
    {
      "questionId": 11,
      "text": "qwe",
      "TypeId": "B",
      "source": "oooooo"
    },
    {
      "questionId": 12,
      "text": "zxc",
      "TypeId": "A",
      "source": "pppppp"
    },
    {
      "questionId": 13,
      "text": "asd",
      "TypeId": "D",
      "source": "cccccc"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是从someArray属性TypeIdsource. 我怎样才能用 lodash 做到这一点?我正在尝试使用 _.pick,但我不知道如何在里面使用它someArray

ade*_*neo 5

您想使用 的反义词_.pick,即_.omit通过将它们映射到 返回没有给定属性的对象_.map

var obj = {
  "flag": false,
  "text": "good text",
  "someArray": [{
    "questionId": 11,
    "text": "qwe",
    "TypeId": "B",
    "source": "oooooo"
  }, {
    "questionId": 12,
    "text": "zxc",
    "TypeId": "A",
    "source": "pppppp"
  }, {
    "questionId": 13,
    "text": "asd",
    "TypeId": "D",
    "source": "cccccc"
  }]
}

obj.someArray = _.map(obj.someArray, o => _.omit(o, ['TypeId', 'source']));

console.log(obj)
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)