从对象的特定子对象

From specific sub-object from object

本文关键字:对象      更新时间:2023-09-26

我正在尝试从JavaScript中的对象中删除一个特定的子对象。

我的对象可能是这样的:

{
    "domains": [
        {
            "transfer": "stackoverflow.dk"
        },
        {
            "register": "stackoverflow.no"
        },
        {
            "register": "stackoverflow.name"
        }
    ]
}

我想做的是在像这样的对象中使用过滤方法:

var remove = selectedDomains.domains.filter(function(e){
    return e === {"register": domain + "." + selectedTLD};
})

函数中的域变量在本例中为"stackoverflow",所选TLD为dk、no或name。

它的作用是从对象中删除所有对象,而不是仅删除一个对象。

我想做的是传入一个特定的子对象,并将其从对象中移除。

我希望它有意义:-)

两个不同(不相同)的对象永远不会相等,即使它们具有相同的属性。只需检查register属性即可。

var remove = selectedDomains.domains.filter(function(e){
  return e.register === domain + "." + selectedTLD;
})

remove将是包含与URL匹配的所有元素的数组。

但是,如果要从数组中删除元素,则可能需要将条件更改为

e.register !== domain + "." + selectedTLD;