javascript - 仅克隆不是函数的属性

标签 javascript lodash

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

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 的高度首选解决方案。

最佳答案

您可以使用_.pick函数,像这样

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

Example

关于javascript - 仅克隆不是函数的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27797437/

相关文章:

javascript - 使用 lodash 对 float 对象数组进行排序

javascript - 从 Javascript 重置 CSS 设置

javascript - 在光滑的轮播中假装点击下一张幻灯片

javascript - JQuery onclick 函数未执行

javascript - 如何将 JSON 日期显示到 javascript 谷歌图表

_water_glass 的 javascript 正则表达式模式

javascript - 计算复合对象中数组字段中包含的元素数

javascript - 是否有一个 lo-dash 方法来检查两个对象是否共享指定的键?

javascript - 使用 Spring 转义 HTML 中的撇号

javascript - 深度替换知道我们必须在其中注入(inject)值的对象中的属性值的值