¿Cómo eliminar la clave json anidada dinámicamente?

Esta es la muestra json:

{
"search": {
"facets": {
  "author": [

  ],
  "language": [
    {
      "value": "nep",
      "count": 3
    },
    {
      "value": "urd",
      "count": 1
    }
  ],
  "source": [
    {
      "value": "West Bengal State Council of Vocational Education & Training",
      "count": 175
    }
  ],
  "type": [
    {
      "value": "text",
      "count": 175
    }
  ],
  }
 }

Hay varias formas de eliminar la clavesearch.facets.source:

delete search.facets.sourcedelete jsobObj['search']['facets']['source']var jsonKey = 'source'; JSON.parse(angular.toJson(jsonObj), function (key, value) { if (key != jsonKey) return value; });

Por encima de 1 y 2 no son dinámicos, y 3 es una de las formas, pero no es una forma adecuada. Porque si la fuente está presente en otro nodo, entonces no funcionará. Por favor, cualquiera puede decirme cómo eliminarlo dinámicamente en cualquier tipo de clave anidada. Porque no podemos generar secuencia de matriz dinámicamente en el anterior 2.

Respuestas a la pregunta(2)

Su respuesta a la pregunta