配列の一部のオブジェクトをフィルタリングしようとしています。しかし、私がそれをするとき、私は空の配列を取得します。フィルタリング後に配列が空であるのはなぜですか?
コード:
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'を –
これはtruthy/falsy問題のように見える、el.ownerの期待されるタイプは何ですか?もう一度文字列値 'true'を比較している場合、' el.owner === 'true'を使う必要があります。これは 'el.owner'の値と型を比較します。 el.ownerがブール値である場合、あなたは単に '聞かせギルド= guildsData.filter(X => x.owner)を使用してフィルタリングすることができ;' –