码迷,mamicode.com
首页 > 其他好文 > 详细

刷题记录

时间:2017-03-11 23:36:18      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:上进   com   cti   nbsp   style   使用   bsp   思考   .com   

  刷题啦,刷题啦,咱也刷算法题。

  先从牛客网的JS方面刷起,接着刷数据结构和算法,然后去刷leetcode,这儿记载自己从出错的地方。

1.题目描述

移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回 。
没有认真思考,写下了如下的答案
    function removeWithoutCopy(arr, item) {
        for(i = 0; i < arr.length; i++) {
            if( arr[i] === item) {
                arr.splice(i,1);
            }
        }
        return arr;
    }

然后提交不让通过,哪里出问题了呢?嗯,在splice后,不应该使用i++到下一个元素位置上,因为该处的元素删除了,所以还应该在该处的i上进行下一次判断。正确写法如下

    function removeWithoutCopy(arr, item) {
        for(i = 0; i < arr.length; ) {
            if( arr[i] === item) {
                arr.splice(i,1);
            } else {
                i++;
            }
        }
        return arr;
    }

 

刷题记录

标签:上进   com   cti   nbsp   style   使用   bsp   思考   .com   

原文地址:http://www.cnblogs.com/zhansu/p/6536470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!