我的对象
如何从中移除UserID,UserName等键...我的意思是选择的键...删除操作符在我的情况下不起作用。
for (i=0 i <obj.length; i ++) {
delete obj[i]['keyName'];
}
以上不起作用,也不会引发错误。任何其他方式...
答案 0 :(得分:6)
您错过了;
之后的i=0
。
此外,obj
必须为MyObject.PatientVitalsGetResult.Vitals
答案 1 :(得分:1)
不要使用delete
;它会将元素设置为undefined而不是删除它。相反,请使用splice
。
var i;
for(i = 0; i < obj.length; i++){
obj[i].splice('keyName',1);
}
答案 2 :(得分:1)
没有标准的方法,afaik。您需要执行过滤不需要的属性的旧Object
的条件副本:
var oldObject = { /* your object */ } ;
var newObject = { } ;
var filter = { "UserID": true , "UserName": true } ;
for(var key in oldObject)
if( !(key in filter) ) newObject[key] = oldObject[key] ;
然后在以下代码中使用获取的newObject
。
答案 3 :(得分:1)
var vitals = obj["PatientVitalsGetResult"]["Vitals"];
for (i=0; i < vitals.length; i++) {
delete(vitals[i]["UserID"])
};
答案 4 :(得分:0)
这个解决方案怎么样......
Array.prototype.containsValue = function (value) {
for (var k in this) {
if (!this.hasOwnProperty(k)) {
continue;
} //skip inherited properties
if (this[k] == value) {
return true;
}
}
return false;
};
for (var key in Object) {
var unwantedKeys = ['UserName', 'UserID'];
if (unwantedKeys.containsValue(key)) continue;
// Play with your Object it won't contain these unwanted keys.
}
删除应该有效,我不确定你正在做的错误..