获取没有特定属性的对象

时间:2019-04-12 14:57:23

标签: javascript jquery clone ecmascript-5

是否有一种方法可以扣除特定属性以使其可克隆(因为该属性可能包含圆圈)?

也许与此类似:

item = { a: 'A', b: 'B', circularProperty: somethingCircular };

$.extend(true,{},item.withoutProperties(['circularProperty']);

4 个答案:

答案 0 :(得分:1)

使用setTimeout()和临时变量

delete

答案 1 :(得分:0)

您可以使用ES6 Destructuring assignment

VACUUM (FULL) citydb.surfaces;

答案 2 :(得分:0)

如果我没记错的话,我知道lodash有一个pick方法,但是我不相信jQuery已经为此内置了操作。您可能必须重建对象。

var objectKeys = Object.keys(item);
var keysWithoutCircularProperty = objectKeys.filter(function(key){
    return key != 'circularProperty';
});

var shallowClone = keysWithoutCircularProperty.reduce(function(result, key) {
    result[key] = item[key];
    return result;
}, {});

删除了箭头功能,因为您在另一个答案中没有说ES6。

答案 3 :(得分:0)

您可以这样做

item = { a: 'A', b: 'B', circularProperty: 'abc' };
    function removeProperty(obj, propertyName) {
      let { [propertyName]: _, ...result } = obj
      return result
    }
    console.log(removeProperty(item, 'circularProperty'));