javascript中,对于元素是对象的数组,用underscore取不到交集?why

js数组:
vara=[{name:'huge',age:23},{name:'lee',age:24}];
varb=[{name:'huge',age:23},{name:'lee',age:24}];
两个一模一样的数组,用underscore的取交集函数,结果为[]。
为什么呢?
RISEBY
浏览 360回答 2
2回答

慕盖茨4494581

underscore取交集是取引用的交集吧vara={name:'huge',age:23};varb={name:'huge',age:23};注意a!==b;因为引用的不是同一块地址噢

白猪掌柜的

这个不是underscore的问题,是你对javascript的数据类型的理解不够。对象是属于引用类型,不是值类型,所以两个对象相等,通常是指他们指向同一个位置。javascriptvaraa={name:'aa',age:'89'}//上面是创建了一个对象,并返回这个对象的引用(类似于C语言的指针),它其实是个类似于物理地址的东西。varbb={name:'aa',age:'89'}//这个bb虽然看起来和aa的一样,但是创建这个对象的时候,它是使用的另一块存储空间,即返回的引用是不一样的console.log(aa===bb);//false
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript