Javascript 仅克隆不是函数的属性

Javascript 仅克隆不是函数的属性,javascript,lodash,Javascript,Lodash,基本上,我有一些对象,我只需要它们的数据,而不需要它们内部的任何函数,例如: var obj1 = { test: function() { doSomeStuff(); }, foo: 'bar', } var obj2 = _.someThing(obj1); > obj2 = { foo: 'bar' } 我已经开始做类似的事情了但这不是我想要的 _.mapValues(obj1, function(value) { if (_.isFunction

基本上,我有一些对象,我只需要它们的数据,而不需要它们内部的任何函数,例如:

var obj1 = {
  test: function() {
    doSomeStuff();
  },
  foo: 'bar',
}

var obj2 = _.someThing(obj1);

> obj2 = {
  foo: 'bar'
}
我已经开始做类似的事情了但这不是我想要的

_.mapValues(obj1, function(value) {
  if (_.isFunction(value)) {
    return false;
  }
  return value
});

> { test: false, foo: 'bar' }
使用
lodash的首选解决方案

您可以像这样使用函数

var res = _.pick(obj1, function (el) {
  return !_.isFunction(el);
})

“但这不是我想要的”你不想要的是什么?什么是你不想要的?你被困在哪里?你似乎拥有所有的部分。@T.J.Crowder我不需要设置
test
属性。是的,它是。。。塔克斯。