我相信 太阳地下有很多值得去的地方 最近的就在我们心中.
昨日为了满足运营姑凉们的排序需求,写了一段js代码进行数据筛选,却因为循环出现问题耽误了很久,事情大概是这样的:
在javascript中,没有和php中一样的unset方法,如果要释放掉数组中指定元素要使用.splice()方法。由于循环语句的机制导致如果在循环内splice掉其中的元素,循环指针可能出现蹿位,最终就是导致某些元素没有被遍历到。javascript中for in与jquery中的.each都有这个问题,php中也有splice方法,并且php的循环在使用unset和splice的时候都会出现“意外”,而foreach由于他的特殊性幸免遇难。还是看代码吧,这个很有趣的低级错误常常被我们忽略。
