如何从对象 javascript 中删除函数
How to remove functions from object javascript
在我的应用中,我正在使用 angular.js。
我需要发送(通过 PUT 请求)具有 3 个属性的对象,如下所示:
var item = {
a: 1,
b: 2,
c: 3
}
但是当我做console.log(item)
的时候,显示了很多我不需要的信息,比如$delete
、$get
等等。像这样:
{
...
$delete: function (params, success, error),
$get: function (params, success, error),
...
a: 1,
b: 2,
c: 3
}
我想这是因为 javascript 承诺什么的。
有没有办法只得到a
、b
和c
?也许用 lodash?
我的解决方案:
我这样使用 lodash:
var valuesToPick = ['title', 'languageCode', 'jobTitle', 'location','economySegment', 'companyDescription' ...];
var item = _.pick( vm.form, valuesToPick );
它们继承自 Object
,不属于 item
。
如果您想遍历自己的属性,请使用 for
...in
循环。
for (property in item) {
item[property];
}
这不是一个完美的解决方案,但应该可行:
而不是:
submitFunction(object, function () {})
做:
submitFunction(JSON.parse(angular.toJson(object)), function () {})
您可以将其拆分为:
var cleanObject = JSON.parse(angular.toJson(object))
submitFunction(cleanObject, function () {})
我这样使用 lodash _.pick
:
var valuesToPick = ['title', 'languageCode', 'jobTitle', 'location','economySegment', 'companyDescription' ...];
var item = _.pick( vm.form, valuesToPick );
项目现在没有功能,只有您的信息。
普通Javascript
var objectFunctionLess=JSON.parse(JSON.stringify(objectWithFunctions))
在我的应用中,我正在使用 angular.js。
我需要发送(通过 PUT 请求)具有 3 个属性的对象,如下所示:
var item = {
a: 1,
b: 2,
c: 3
}
但是当我做console.log(item)
的时候,显示了很多我不需要的信息,比如$delete
、$get
等等。像这样:
{
...
$delete: function (params, success, error),
$get: function (params, success, error),
...
a: 1,
b: 2,
c: 3
}
我想这是因为 javascript 承诺什么的。
有没有办法只得到a
、b
和c
?也许用 lodash?
我的解决方案:
我这样使用 lodash:
var valuesToPick = ['title', 'languageCode', 'jobTitle', 'location','economySegment', 'companyDescription' ...];
var item = _.pick( vm.form, valuesToPick );
它们继承自 Object
,不属于 item
。
如果您想遍历自己的属性,请使用 for
...in
循环。
for (property in item) {
item[property];
}
这不是一个完美的解决方案,但应该可行:
而不是:
submitFunction(object, function () {})
做:
submitFunction(JSON.parse(angular.toJson(object)), function () {})
您可以将其拆分为:
var cleanObject = JSON.parse(angular.toJson(object))
submitFunction(cleanObject, function () {})
我这样使用 lodash _.pick
:
var valuesToPick = ['title', 'languageCode', 'jobTitle', 'location','economySegment', 'companyDescription' ...];
var item = _.pick( vm.form, valuesToPick );
项目现在没有功能,只有您的信息。
普通Javascript
var objectFunctionLess=JSON.parse(JSON.stringify(objectWithFunctions))