我有一个object
元素和一个array
元素,其中包含object
的一些项目。
我想删除数组引用的对象中的项目。
var array = ["test1","test2"];
var object =
...
"test1": {
"na": [
"t",
"t-t",
"t-98",
"t"
]
},
"test2": {
"python": [
"jjj"
]
}
...
当我使用
时delete object.test1
有效。
但在我的情况下,我想:
for(var i = 0 ; i < array.length ; i++){
delete object.array[i];
}
但我得到了:
object.array未定义
有什么想法吗?
答案 0 :(得分:2)
使用object[array[i]]
,object.array不存在
如果您使用的是lodash或下划线,则还可以使用_.omit
功能。
object = _.omit( object, array )
答案 1 :(得分:1)
您需要使用数组对象表示法。
delete object[array[i]]
如果使用字符串值进行索引,则数组表示法是检索属性值的唯一方法。