这个是需要在你的page页面的js里面有XXList这个数值变量
可以从小程序开发者论坛什么的找找demo看下
<html><head>
<title>无标题</title>
</head>
<body>
<script type="text/javascript">
var ac = ['id1','id2']
var ad = ['title1','title2']
var ae = ['uid1','uid2']
var af = ['utitle1','utitle2']
var r=[]
for(var i=0i<ac.lengthi++)
r.push({id:ac[i],title:ad[i],ulist:[{uid:ae[i],utitle:af[i]}]})
//输出,以进行核对
document.write("[")
for(var i=0i<r.lengthi++)
{
document.write("{")
document.write("id:'"+r[i]['id']+"',")
document.write("title:'"+r[i]['title']+"',")
document.write("ulist:[{uid:'"+r[i]['ulist'][0]['uid']+"',")
document.write("utitle:'"+r[i]['ulist'][0]['utitle']+"'}]")
document.write("}")
if(i!=r.length-1)
document.write(",<br />")
}
document.write("]")
</script>
</body>
</html>
而遍历过程还是根据下标继续遍历,导致跳过了删除元素之后的那个元素
而i=4为合数,将该元素从list1中删除后,就会跳过之后的元素9
修改方法为:将list1中的所有质数append到一个新列表list2中,最后输出list2即可;
或者先用list2=list1.copy(),这里注意要拷贝而不能直接写为list2=list1
这样遍历list2中的数,然后从list1中删除合数,list2就不会受影响了
修改后的代码和运行结果为:
可见所有数都遍历到了,最终输出list1只剩下质数3
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)