Я пытаюсь фильтровать некоторые объекты в массиве. Но когда я это делаю, я просто получаю пустой массив.Почему массив пуст после фильтрации?
Код:
let guilds = guildsData.filter((el) => {
return el.owner == 'true';
});
console.log(guilds);
Массив:
[
{ owner: false,
permissions: 2146958463,
icon: 'e568d2b87e31358588cb982354628d51',
id: '267920024570691586',
name: 'Hydra' },
{ owner: true,
permissions: 2146958463,
icon: null,
id: '269159705794838529',
name: 'test 2' } ]
(я удалил большинство объектов, но все они выглядят как это)
потому что '' true '! = True' –
Это похоже на правдивую/фальшивую проблему, каков ожидаемый тип el.owner? если вы снова сравниваете строковое значение 'true', тогда вам нужно использовать' el.owner === 'true'', который будет сравнивать как значение, так и тип 'el.owner'. Если el.owner является логическим, то вы можете просто фильтровать с помощью 'let guilds = guildsData.filter (x => x.owner);' –