использование findIndex для проверки массива элементов, существующих в массиве объектов - машинописный текст - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь проверить из массива свойств, которые присутствуют в массиве объектов, а которых нет.

Мой объект выглядит так:

var tempObj=[{id: '1', color: 'red, blue, green', age: 27},{id: '2', color: 'black, orange, yellow', age: 75}];
var tempColor = ['red', 'yellow', 'white'];

Здесь массив tempColor содержит три элемента, и мне нужно проверить эти элементы, присутствующие в tempObj. Здесь в tempObj значения свойств цвета заглушены запятыми, поэтому я запутываю здесь. В основном для проверки одного элемента я делал вот так

var eleExists= this.tempObj.findIndex(obj => obj.age === 27) >= 0;

Но для элементов массива, которые нужно проверить с нагноившимися запятыми значениями, нет идеи проверять, поэтому ищите некоторую помощь или руководство.

1 Ответ

1 голос
/ 05 мая 2020
  const data = [
    {id: '1', color: 'red, blue, green', age: 27},
    {id: '2', color: 'black, orange, yellow', age: 75},
  ]

  const colors = ['red', 'yellow', 'white']

  function getNeverUsedColors(colors, data) {
    return colors.filter(color => !data.some(obj => obj.color.split(', ').includes(color)))
  }

  console.log(getNeverUsedColors(colors, data))
  // returns ['white']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...