从数组中删除对象项

时间:2016-02-16 16:53:52

标签: javascript

我有一个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未定义

有什么想法吗?

Fiddle

2 个答案:

答案 0 :(得分:2)

使用object[array[i]],object.array不存在

如果您使用的是lodash或下划线,则还可以使用_.omit功能。

object = _.omit( object, array )

答案 1 :(得分:1)

您需要使用数组对象表示法。

delete object[array[i]]

如果使用字符串值进行索引,则数组表示法是检索属性值的唯一方法。