这是我们所拥有的:
var MyObject = function(){
var contents = [undefined,2,undefined,4,5];
this.getContents = function(){
return contents;
}
}
var o = new MyObject();
如您所知,
o.getContents()
的值为[undefined,2,undefined,4,5]
我想做的是删除该私有数组的未定义值,而不覆盖整个数组,不公开私有
contents
,并且通常不更改对象代码。 最佳答案
return contents.filter(function(e) {return e});
此
filter
方法创建一个新数组,同时从输入数组中删除""
,null
,undefined
和0
值。关于javascript - 如何修改对象 getter 返回的私有(private)变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17208016/