Изменить объект JSON с помощью JavaScript на основе поиска заголовка - PullRequest
1 голос
/ 06 ноября 2019

У меня есть скрытое поле ASP.Net, в котором есть данные в формате JSON, как показано ниже

[
  {
    "RegionName": "USA",
    "Contact": {
      "LegalName": "somethinglegal",
      "StreetAddress": "hello",
      "City": "Test",
      "State": "Test",
      "Zip": "8888",
      "Country": "USA",
      "VAT": "VAT"
    },
    "EntityContact": {
      "LegalName": "Test",
      "Email": "Test@test.com",
      "Phone": "9998887777"
    }
  },
  {
    "RegionName": "Mexico",
    "Contact": {
      "LegalName": "somethinglegal",
      "StreetAddress": "hello",
      "City": "Test",
      "State": "Test",
      "Zip": "33333",
      "Country": "Mexico",
      "VAT": "VAT"
    },
    "EntityContact": {
      "LegalName": "Amex",
      "Email": "test@test.com",
      "Phone": "9998887777"
    }
  }  
]

, который читается в Javascript с использованием кода ниже

var value = $('#countryInvoice')[0].defaultValue;

Теперь я хочунайдите этот JSON, используя javascript на основе имени региона, и удалите запись из скрытого поля. Поэтому я хочу удалить точку данных, скажем, для США, чтобы осталось только следующее:

[    
      {
        "RegionName": "Mexico",
        "Contact": {
          "LegalName": "somethinglegal",
          "StreetAddress": "hello",
          "City": "Test",
          "State": "Test",
          "Zip": "33333",
          "Country": "Mexico",
          "VAT": "VAT"
        },
        "EntityContact": {
          "LegalName": "Amex",
          "Email": "test@test.com",
          "Phone": "9998887777"
        }
      }  
    ]

Может кто-нибудь подсказать, пожалуйста, как это сделать в JQuery или Javascript.

Спасибо

Ответы [ 2 ]

2 голосов
/ 06 ноября 2019
//ES5
var res = value.filter(function(e) { return e["RegionName"] != "USA"; })

//ES6
var res = value.filter(e => e["RegionName"] != "USA")

Примечание: Функция стрелки соответствует синтаксису ES6.

0 голосов
/ 06 ноября 2019

Вам просто нужно отфильтровать его, используя Array.prototype.filter().

Ознакомьтесь с документами MDN здесь

Ниже приведен фрагмент кода США

let value = [{
    "RegionName": "USA",
    "Contact": {
      "LegalName": "somethinglegal",
      "StreetAddress": "hello",
      "City": "Test",
      "State": "Test",
      "Zip": "8888",
      "Country": "USA",
      "VAT": "VAT"
    },
    "EntityContact": {
      "LegalName": "Test",
      "Email": "Test@test.com",
      "Phone": "9998887777"
    }
  },
  {
    "RegionName": "Mexico",
    "Contact": {
      "LegalName": "somethinglegal",
      "StreetAddress": "hello",
      "City": "Test",
      "State": "Test",
      "Zip": "33333",
      "Country": "Mexico",
      "VAT": "VAT"
    },
    "EntityContact": {
      "LegalName": "Amex",
      "Email": "test@test.com",
      "Phone": "9998887777"
    }
  }
];

let newArray = value.filter(arr => arr.RegionName !== 'USA');
console.log(newArray);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...