在我的应用中,我使用 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 );
谢谢,
乔治
答案 0 :(得分:2)
它们是Object
的继承,不归item
所有。
如果要迭代自己的属性,请使用for
... in
循环。
for (property in item) {
item[property];
}
答案 1 :(得分:1)
这不是一个完美的解决方案,但它应该有效:
而不是:
submitFunction(object, function () {})
执行:
submitFunction(JSON.parse(angular.toJson(object)), function () {})
您可以将其拆分为:
var cleanObject = JSON.parse(angular.toJson(object))
submitFunction(cleanObject, function () {})
答案 2 :(得分:1)
我这样使用了lodash _.pick
:
var valuesToPick = ['title', 'languageCode', 'jobTitle', 'location','economySegment', 'companyDescription' ...];
var item = _.pick( vm.form, valuesToPick );
项目现在没有功能,只有您的信息。