Dividing an array by filter function

后端 未结 12 1064
抹茶落季
抹茶落季 2020-12-01 11:24

I have a Javascript array that I would like to split into two based on whether a function called on each element returns true or false. Essentially

12条回答
  •  盖世英雄少女心
    2020-12-01 12:20

    Try this:

    function filter(a, fun) {
        var ret = { good: [], bad: [] };
        for (var i = 0; i < a.length; i++)
            if (fun(a[i])
                ret.good.push(a[i]);
            else
                ret.bad.push(a[i]);
        return ret;
    }
    

    DEMO

提交回复
热议问题