我想对对象数组使用indexOf()。例如:
var arr;
var arr[0] = {a: 1, b: 2};
var arr[1] = {a: 1, b: 3};
var obj = {a: 1, b: 2};
console.log(arr.indexOf(obj));
这将打印 -1,因为 arr[0] 不等于 obj。我怎样才能做到这一点(即打印 0)?
最佳答案
您必须比较属性。像这样的事情会起作用:
var arr = [];
arr[0] = {a: 1, b: 2};
arr[1] = {a: 1, b: 3};
console.log(arr.findIndex(o => o.a === 1 && o.b === 2));
//0
console.log(arr.findIndex(o => o.a === 1 && o.b === 3));
//1
关于javascript - JS 在对象数组上使用indexOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57618128/