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

或与两个逻辑的运行结果不一样

求问这两段代码为什么运行结果不一样?:


for(var i = 0; i < infos.length; i++) {


if(infos[i][3] === "大一" && infos[i][1] === "女") {


document.write(infos[i][0] + "<br />");


}


}


——————————————————————

for(var i = 0; i < infos.length; i++) {

if(infos[i][3] != "大一" || infos[i][1] != "女") {

infos.splice(i,1);

}

     document.write(infos[i][0]+'<br/>');

}


正在回答

2 回答

第一个意思是:又是大一又是女生(同时包含)。第二个意思是:不是大一 ”或者“不是女生。 两个怎么可能一样。

0 回复 有任何疑惑可以回复我~
#1

Musefry 提问者

你没看懂我的意思。我是说:满足'不是大一或者不是女生'这两个条件的从infos数组中统统剔除,然后把剩下的元素输出。这跟输出:满足’又是大一又是女生‘元素的逻辑应该是一样的啊?
2016-03-15 回复 有任何疑惑可以回复我~
#2

weibo_心释戒_0 回复 Musefry 提问者

逻辑没问题,splice()用错了。 PS:splice 的参数 :splice (start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) 数组从 start下标开始,删除deleteCount 个元素,并且可以在这个位置开始添加 n个元素
2016-03-15 回复 有任何疑惑可以回复我~
#3

Musefry 提问者

非常感谢!
2016-03-15 回复 有任何疑惑可以回复我~
#4

Musefry 提问者 回复 weibo_心释戒_0

删除之后要重新整理元素的下标顺序,挺坑的~
2016-03-15 回复 有任何疑惑可以回复我~
查看1条回复

3个等号是个什么鬼

0 回复 有任何疑惑可以回复我~
#1

Musefry 提问者

喔,这个是下面同学的第一个代码,不影响结果的。我就是想知道为什么这里非与逻辑的结果不一致?
2016-03-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

或与两个逻辑的运行结果不一样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信