let database = [{
name: 'James Bond',
code: '007'
},
{
name: 'El',
code: '11'
}
]
let subject = {
name: 'James Bond',
code: '007'
}
database.indexOf(subject)
これは-1を返します。私はここで同様の質問を見つけましたが、キー値のペアと比較することで、オブジェクトのインデックスを見つけることをほとんど要求していました。配列からオブジェクトのインデックスを取得する方法[JavaScript]?
理由はあなたが*異なる*オブジェクトによってそれを検索しようとしているということです。 'database [0]'と 'subject'は、同じ値を持っていても、異なるオブジェクトです。彼らは異なるメモリアドレスを指しています。オブジェクトが同じに見えるかどうかを比較する必要があります。あるいは、 'database [0] = subject'で' database.indexOf(subject) 'が正しいとすれば、あなたは望むことができます。 – vlaz