美文网首页JavaScriptWeb前端之路让前端飞
多种方法解决问题才是王道

多种方法解决问题才是王道

作者: sky丶星如雨 | 来源:发表于2017-09-07 14:57 被阅读14次

遇到问题,有一种方法解决问题,这是入门,同样的问题,能想出多种解决的办法才是渐入佳境。
来看一个问题。
定义一个数组

var arr = [1,2,3,4,5,6,7];

需求是,在不改变原数组的基础上,移除与给定item相同的元素

function remove(arr,item){}

你会怎么做呢?
最常规的办法

  function remove(arr, item) {
        var newArr = [];  // 定义一个空数组
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] !== item) {   
                newArr.push(arr[i]) // 当判断条件成立时,向新数组推加
            }
        }
        return newArr;
    }

完美解决了需求,但这是最好的办法吗,显然不是。
再来看一种方法

function remove(arr, item) {
        var newArr = arr.slice(0); // 复制一份arr
        for (var i = 0; i < newArr.length; i++) {
            if (newArr[i] == item) {  
                newArr.splice(i, 1);  // 判断条件成立时,数组中删除当前元素
                i--; // 改变了数组长度,所以向前一位,重新判断
            }
        }
        return newArr;
    }

这种方法思路较为独特,很有想法,但仍有更好的解决方案,再来看

 function remove(arr, item) {
        var newArr = [];
        for (var i = 0; i < arr.length; i++{
            if (arr[i] == item) continue; // 判断条件成立,跳出
            newArr.push(arr[i]);
        }
    return newArr;
    }

与第一种方法大同小异,但却是两种思路,相较于第一种方法,个人推荐此种写法。
那么,还有没有更好的办法了呢?答案是有的,我们一起来看:

  function remove(arr, item) {
        return arr.filter(function (t) {
            return t != item;
        })
    }

问题解决了,这种方法,是推荐大家使用的,代码简洁明了,逻辑清晰。
总结:
在解决问题时,我们要从不同的角度去考虑,多尝试一些方法,慢慢我们会发现,逻辑越来越清晰,能力也在稳步增长。

相关文章

  • 多种方法解决问题才是王道

    遇到问题,有一种方法解决问题,这是入门,同样的问题,能想出多种解决的办法才是渐入佳境。来看一个问题。定义一个数组 ...

  • 思维的一盘散沙,需要聚沙成塔

    通过自己的方法解决问题才是王道,理念就是做自己能做的事情,不给别人添麻烦 完成自我思考,没有自学能力的人是没有前途...

  • 解决问题才是王道

    一身负能量

  • 解决问题才是王道

    世间有两种人:一种人改变环境,一种人适应环境;一种人制约人,一种人受制于人;一种人解决问题,一种人逃避责任;一种人...

  • 解决问题才是王道

    最近感觉有点焦虑,但是跟之前不一样,这段时间,会慢慢学会找解决方案。 首先是改变自己,这个也是最容易实现的。然后再...

  • 解决问题才是王道

    1.当你想用培训提升能力的时候,先问自己,你到底是要提升能力还是要解决实际问题,绝大部分时候你只需要解决问题。 2...

  • 一句话两个人让我遐想联翩

    今天看到一句话:“钱”不是赚来的,而是帮别人解决问题后回馈回来的礼物。拥有解决问题的本事才是王道”。 这...

  • 关于赚钱

    领悟一下赚钱的本质: 钱不是赚来的 钱是帮助别人解决问题之后, 回馈给你的礼物。 拥有解决问题的能力才是王道。 这...

  • 知道自己什么时候做什么

    才是王道

  • Day 15《把时间当作朋友》

    坚持才是王道

网友评论

    本文标题:多种方法解决问题才是王道

    本文链接:https://www.haomeiwen.com/subject/uxsijxtx.html