移除数组中的元素

xiaoxiao2025-08-09  30

题目描述

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

示例1

输入

复制

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

输出

复制

[1, 3, 4]

 

1.遍历

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

知识点:push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。应该从头开始遍历arr数组

首先,题目说不要修改数组arr,所以先申明一个newarr用来保存结果。

遍历arr,把不等于item的值添加到newarr,最后输出newarr。

 

2.用filter

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

知识点:filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

 

语法

array.filter(function(currentValue,index,arr), thisValue)

参数说明

参数描述function(currentValue, index,arr)必须。函数,数组中的每个元素都会执行这个函数 函数参数: 参数描述currentValue必须。当前元素的值index可选。当期元素的索引值arr可选。当期元素属于的数组对象thisValue可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue ,"this" 的值为 "undefined"

 

 

 

转载请注明原文地址: https://www.6miu.com/read-5034562.html

最新回复(0)