本人学识渊博、经验丰富,代码风骚、效率恐怖,
c/c++、java、php无不精通,熟练掌握各种框架,
深山苦练20余年,一天只睡4小时,电话通知出bug后秒登vpn,千里之外定位问题,瞬息之间修复上线。
身体强壮、健步如飞,可连续编程100小时不休息,讨论技术方案5小时不喝水,
上至带项目、出方案,下至盗账号、威胁pm,什么都能干。
泡面矿泉水已备好,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源百兆光纤永不断电断网,门口已埋雷无人打扰
以上摘自网络纯属娱乐
在js中需要删除数组中符合指定要求的元素,代码如下,发现结果不对
var arr = [1, 2, 3, 4, 5, 6, 7, 8 ,9, 10];
for(var i = 0; i < arr.length; i++){
if(arr[i] > 5){
arr.splice(i, 1);
}
}
console.log(arr);
于是在群里请教大神,各种说法,各种尝试,没有一个给出正确答案,几小时后,真正的大神出来说出了原因,删除数组会改变数组的长度,导致for循环条件判断错误,倒过来从最后面删,就不会有影响了于是代码稍微改动一点就行
var arr = [1, 2, 3, 4, 5, 6, 7, 8 ,9, 10];
for(var i = arr.length - 1; i >= 0; i--){
if(arr[i] > 5){
arr.splice(i, 1);
}
}
console.log(arr);