题目描述

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

示例1

输入

[1, 2, 3, 4, 2], 2

输出

[1, 3, 4]

代码实现:

function remove(arr, item) {
    var arrR=[];
    arr.forEach(function(e){
        if(e!==item){
            arrR.push(e);
        }
    })
    return arrR
}
<body>
    <script type="text/javascript">

        /*题目描述
         *移除数组 arr 中的所有值与 item 相等的元素。
         *不要直接修改数组 arr,结果返回新的数组
         */
        //使用continue跳过
        function remove(arr, item) {
            var newArr = arr.slice(0);
            var result = [];
            for(var i=0; i<newArr.length; i++) {
                if(newArr[i] == item) {
                    continue;
                }
                result.push(newArr[i]);
            }
            return result;
        }
        //使用filter()方法
        function remove(arr, item) {
            var newArr = arr.filter(function(obj, indes, array) {
                return obj != item;
            });
            return newArr;
        }
        //使用splice()
        function remove(arr, item) {
            var newArr = arr.slice(0);
            for(var i=0; i<newArr.length; i++) {
                if(newArr[i] == item) {
                    newArr.splice(i, 1);
                }
            }
            return newArr;
        }
        var arr = [1,2,3,4,2];
        var item = 2;
        console.log(remove(arr, item));
        console.log(arr);

    </script>
</body>

results matching ""

    No results matching ""