如何更改数组中对象的值-Javascript
我不明白为什么它会打印-1,即使指定的对象明显存在于数组中。如果要这样做,您需要如何更改数组中对象的值-Javascript,javascript,Javascript,我不明白为什么它会打印-1,即使指定的对象明显存在于数组中。如果要这样做,您需要findIndex const无意义=[{x:'1'}]; console.log(无意义的.findIndex(item=>item.x=='1'));//打印0 如果您想这样做,您需要findIndex const无意义=[{x:'1'}]; console.log(无意义的.findIndex(item=>item.x=='1'));//打印0 对象是通过其引用进行比较的,而不是通过其值进行比较的 数组中的对象
findIndex
const无意义=[{x:'1'}];
console.log(无意义的.findIndex(item=>item.x=='1'));//打印0
如果您想这样做,您需要findIndex
const无意义=[{x:'1'}];
console.log(无意义的.findIndex(item=>item.x=='1'));//打印0
对象是通过其引用进行比较的,而不是通过其值进行比较的
数组中的对象与传递给indexOf
函数的对象不同,即使它们具有相同的键值对
下面的代码将为您提供正确的索引
constobj={x:'1'};
常量无意义=[obj];
console.log(胡说八道.indexOf(obj))代码>对象是通过它们的引用进行比较的,而不是通过它们的值进行比较的
数组中的对象与传递给indexOf
函数的对象不同,即使它们具有相同的键值对
下面的代码将为您提供正确的索引
constobj={x:'1'};
常量无意义=[obj];
console.log(胡说八道.indexOf(obj))代码>在javaScript中,对象通过引用进行比较,而不是通过值进行比较
const无意义=[{x:'1'}];
log(无意义的.map(o=>o.x).indexOf('1')代码>在javaScript中,对象通过引用进行比较,而不是通过值进行比较
const无意义=[{x:'1'}];
log(无意义的.map(o=>o.x).indexOf('1')代码>旁注:如果您使用变量来启动对象,那么它会起作用。例如:const a={x:1}代码>常量arr=[a]代码>arr.indexOf(a)代码>旁注:如果您使用变量来启动对象,那么它会起作用。例如:const a={x:1}代码>常量arr=[a]代码>arr.indexOf(a)代码>
const nonsense = [{x: '1'}];
console.log(nonsense.indexOf({x: '1'})); // prints -1