写js的时候遇到一个问题,使用$post获取的返回值,设为data.menu,是个数组另有变量a和b,var ifor (i = 0; i < data.menu.length; i++) { this.a[i] = data.menu[i]}this.b = data.menu(这是我在.vue文件中的写法,a和b均是data中定义的空数组,故使用this.)结果这两种方式得到的结果不同,在使用上也不同,只有b可以正常使用(作为变量传入component中)在作比较时,若是使用if (a[0].data1 === b[0].data1),if (a[0] === b[0])等方式比较数组元素或内部值,结果为true,但是直接比较if (a === b)却为false,不知何解
7 回答

白猪掌柜的
TA贡献1893条经验 获得超10个赞

慕桂英4014372
TA贡献1871条经验 获得超13个赞
你的a是循环出来的,说明a始终只等于最后一组数据。而b是整组数据。你前面的比较会相等,只能说明你判断的那两个值就是相等的。
if (a[0].data1 === b[0].data1),if (a[0] === b[0])这里比较的都是具体的值
if (a === b)这里比较的是整个数据,而a只是最后一个i,b是所有的数据
添加回答
举报
0/150
提交
取消