Как исключить совпадающие значения из объекта словаря в angular? - PullRequest
0 голосов
/ 07 мая 2020

Я создал функцию, которая принимает объект словаря и соответствует массиву, как показано ниже:

const dict = {
  CheckAStatus: "PASS",
  CheckAHeading: "",
  CheckADetail: "",
  CheckBStatus: "FAIL",
  CheckBHeading: "Heading1",
  CheckCStatus: "FAIL",
  CheckCHeading: "Heading2"
};

Я хочу исключить все пары значений ключа, которые имеют либо PASS в качестве значения, либо empty string ("") как значение. Другими словами, JSON.stringify(dict) должен дать:

  CheckBStatus: "FAIL",
  CheckBHeading: "Heading1",
  CheckCStatus: "FAIL",
  CheckCHeading: "Heading2"

Я написал ниже, но это не работает

 const items = Object.keys(dict)
  .filter(key => key.indexOf('PASS')>= 1)

1 Ответ

2 голосов
/ 07 мая 2020

Рассмотрим простой for...in l oop для добавления пар ключ / значение к вашему items объекту, когда он соответствует правильным критериям.

const dict = {
  CheckAStatus: "PASS",
  CheckAHeading: "",
  CheckADetail: "",
  CheckBStatus: "FAIL",
  CheckBHeading: "Heading1",
  CheckCStatus: "FAIL",
  CheckCHeading: "Heading2"
};

const items = {};

for (let key in dict) {
  if (!["PASS", ""].includes(dict[key])) {
    items[key] = dict[key];
  }
}

console.log(items);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...