是否有一种方法可以扣除特定属性以使其可克隆(因为该属性可能包含圆圈)?
也许与此类似:
item = { a: 'A', b: 'B', circularProperty: somethingCircular };
$.extend(true,{},item.withoutProperties(['circularProperty']);
答案 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'));