【发布时间】:2018-04-21 10:39:54
【问题描述】:
我有一个看起来像这样的对象:
var myObj: {
2:"None",
20:"A",
31:"A",
32:"A",
Social:"B",
Method:"None"
}
我正在尝试返回没有“社交”和“方法”属性的对象。
首先我尝试在计算属性中像这样删除,但它会从主对象中删除属性:
props: ['myObj']
computed: {
filterOut: {
var myObject = this.myObj
delete myVar['Social'];
delete myVar['Method'];
return myObject
}
}
然后我尝试使用过滤器,但它不允许我这样做:
var myObject = this.myObj.filter(key => {
return key != 'Method' || key != 'Social'
})
return myObject
TypeError: this.myObj.filter 不是函数
从上面的对象到下面的对象最好的方法是什么?
var myObj: {
2:"None",
20:"A",
31:"A",
32:"A"
}
【问题讨论】:
-
你的目标是什么?为什么您希望属性保留但不知何故不可见?您可以简单地克隆对象并删除克隆上的属性吗?
-
@isherwood 您的方法是最简单且有效的。基本上,
Object.assign({}, this.myObj)。谢谢
标签: javascript object ecmascript-6 vue.js