Проверьте, существует ли элемент в массиве объекта массива - PullRequest
0 голосов
/ 27 марта 2020

У меня есть один массив, подобный этому.

var MembersArray = [
    {
        id: [1,2],
        name: ['Arjun', 'Parth'],
    },
    {
        id: [2,5],
        name: ['Arjun', 'Rahul']
    },
    {
        id: [3,6],
        name: ['Chetan', 'kumar']
    }
];

Я хочу найти, если идентификатор 2 существует в MembersArray, Обычно, если массив подобен [1,2,3 ] это, тогда мы можем использовать метод array.some () , но я не знаю, как проверить, существует ли id в этом массиве или нет.

Ответы [ 3 ]

1 голос
/ 27 марта 2020
const id = 2;
const isIdInArray = MembersArray.some(item => item.id.includes(id));

Теперь у вас есть константа isIdInArray , которая является типом логического значения.

0 голосов
/ 27 марта 2020

Решения

     <script>
      var MembersArray = [
        {
          id: [1, 2],
          name: ['Arjun', 'Parth']
        },
        {
          id: [2, 5],
          name: ['Arjun', 'Rahul']
        },
        {
          id: [3, 6],
          name: ['Chetan', 'kumar']
        }
      ];
      var checkMemberId = 2;

      function fn_checkMemberId(_checkMemberId, _membersArray) {
        let _memberExist = false;

        for (i = 0; i < _membersArray.length; i++) {
          if (_membersArray[i]['id'].includes(_checkMemberId)) {
            _memberExist = true;
            break;
          }
        }

        return _memberExist;
      }

      let memberExistResult = fn_checkMemberId(checkMemberId, MembersArray);
      console.log(`Member ${checkMemberId} exist: ${memberExistResult}`);
    </script>
0 голосов
/ 27 марта 2020

Вы можете использовать filter для получения требуемого результата.

var MembersArray = [
    {
        id: [1,2],
        name: ['Arjun', 'Parth'],
    },
    {
        id: [2,5],
        name: ['Arjun', 'Rahul']
    },
    {
        id: [3,6],
        name: ['Chetan', 'kumar']
    }
];

const res = MembersArray.filter(({id}) => id.indexOf(2) > -1);
console.log(res);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...