Discuss / JavaScript / 绝大多数在for loop里直接++i的应该不对

绝大多数在for loop里直接++i的应该不对

Topic source

kwyh

#1 Created at ... [Delete] [Delete and Lock User]

不信试试这个case

<ul id="test-list">
    <li>JavaScript</li>
    <li>Swift</li>
    <li>HTML</li>
    <li>CSS</li>
    <li>DirectX</li>
</ul>

正确代码

var list = document.getElementById('test-list');
for(var i=0; i<list.children.length;){
   var n = list.children[i].innerText;
   if(n!=='JavaScript' && n!=='HTML' && n!=='CSS'){
       list.removeChild(list.children[i]);
   }
   else
     ++i;
 }

  • 1

Reply