题目描述
移除数组 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>