为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

人到中年有点甜 2019-04-07 11:18:58
js数组:vara=[{name:'huge',age:23},{name:'lee',age:24}];varb=[{name:'huge',age:23},{name:'lee',age:24}];两个一模一样的数组,用underscore的取交集函数,结果为[]。为什么呢?
查看完整描述

2 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

underscore取交集是取引用的交集吧
vara={name:'huge',age:23};
varb={name:'huge',age:23};
注意
a!==b;
因为引用的不是同一块地址噢
                            
查看完整回答
反对 回复 2019-04-07
?
jeck猫

TA贡献1909条经验 获得超7个赞

这个不是underscore的问题,是你对javascript的数据类型的理解不够。
对象是属于引用类型,不是值类型,所以两个对象相等,通常是指他们指向同一个位置。
javascriptvaraa={
name:'aa',
age:'89'
}
//上面是创建了一个对象,并返回这个对象的引用(类似于C语言的指针),它其实是个类似于物理地址的东西。
varbb={
name:'aa',
age:'89'
}
//这个bb虽然看起来和aa的一样,但是创建这个对象的时候,它是使用的另一块存储空间,即返回的引用是不一样的
console.log(aa===bb);//false
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 417 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号