简单的js编程题

1. 题目描述

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
输入例子:
remove([1, 2, 3, 4, 2], 2)

输出例子:
[1, 3, 4]

function remove(arr, item) {
    var arr0 = [];
    for(var i = 0;i<arr.length;i++){
        if(arr[i] !== item){
            arr0.push(arr[i]);
        }
    }
    return arr0;
}

2. 题目描述

移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
输入例子:
removeWithoutCopy([1, 2, 2, 3, 4, 2, 2], 2)

输出例子:
[1, 3, 4]

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

3.题目描述

在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
输入例子:
append([1, 2, 3, 4], 10)

输出例子:
[1, 2, 3, 4, 10]

function append(arr, item) {
    var arr1 = arr.concat(item);
    return arr1;
}

4.题目描述

删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
输入例子:
truncate([1, 2, 3, 4])

输出例子:
[1, 2, 3]

function truncate(arr) {
        return arr.slice(0, -1);
 }