• 版本一:不修改原数组,返回新数组
    题目描述

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

//输入
[1, 2, 3, 4, 2], 2
//输出
[1, 3, 4]

方法一
新建一个空数组,利用for循环遍历数组,判断数组成员与item是否相等,将不相等的成员pus进新数组。

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

方法二
使用fifter()过滤器:过滤掉数组组中与item相等的成员,将不相等的成员形成一个新数组返回。

function remove(arr, item) {return arr.filter((elem) => elem!==item);
}
  • 另一版本——直接在给定的 arr 数组上移除数组中的元素
    使用splice()方法,删除指定位置和数量的元素,并可添加新元素,会直接改变原数组。
    array.splice(Index,delNum,add1,...,addX)

方法一
使用for循环,从后往前遍历,不用考虑数组下标的变化。

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

方法二
使用for…in方法遍历,用while进行判断

function removeWithoutCopy(arr, item) {for(let i in arr){while(arr[i]===item){arr.splice(i,1);}}return arr;
}

方法三
直接用while进行判断:能在数组中找到的元素就删除。
indexOf():在数组中查找指定元素,存在返回元素所在位置,不存在返回-1。

function removeWithoutCopy(arr, item) {while(arr.indexOf(item) !== -1){arr.splice(arr.indexOf(item),1);}return arr;
}

3. JS编程之移除数组中的元素相关推荐

  1. 【JS实战】移除数组中的元素(返回新的数组)

    移除数组中的元素(返回新的数组) 方法一:for循环+push function remove(arr, item) {let newArr = [];for(let i = 0; i < ar ...

  2. js移除数组中的元素(返回新数组)

    移除数组中的元素(返回新数组) 移除数组 arr 中的所有值与 item 相等的元素.不要直接修改数组 arr,结果返回新的数组. 输入:[1,2,3,4,2] ,2 输出:[1,3,4] 第一种解决 ...

  3. JS根据指定值删除数组中的元素

    解决问题: 1 .JS判断元素是否在数组内 2. JS根据指定值删除数组中的元素 要点:相当于jquery 的 $.inArray() 这个方法 原声js 如果想删除数组,有一个函数   splice ...

  4. 【C语言编程1】删除数组中重复元素,并排序

    C语言编程 程序的功能是删除数组中的重复元素,并且按照从小到大的顺序排序. 排序的算法是使用的最基础的冒泡排序. 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地 ...

  5. 移除数组中指定元素-python

    移除元素-力扣 思路:双指针 fast指针指向当前位置,slow指针指向新数组的新元素的位置,新数组就是没有val的数组 1)当fast指向的数值不等于val,则这个值一定是新数组的元素,将fast指 ...

  6. js移除数组中指定元素

    首先需要找到元素的下标: var array = ["zhangsan", "lisi", "wangwu"]; var index = a ...

  7. 一维数组求平均值c语言编程软件,请问一道c++编程:求一维数组中全部元素的平均值?...

    编程代码如下: //文件后缀名为.cpp #include using namespace std; #define NUM 20 //求和数据个数的最大值 int main() { int i,n; ...

  8. JS 移除数组中指定索引项

    JS移除数组中的指定的索引的项: ////移除指定索引的对象Array.prototype.remove = function (dx) {if (isNaN(dx) || dx > this. ...

  9. js删除数组中指定元素

    js删除数组中某一项或几项的几种方法 一.删除第一个元素 1.shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值. 注意: 此方法改变数组的长度! 提示: 移除数组末尾的元素可 ...

最新文章

  1. Js_Span 滑动手型鼠标样式
  2. 装了激光雷达的iPad Pro,还能用鼠标了:苹果新键盘、新iPad Pro、新MacBook Air来了...
  3. 使用Cucumber+Rspec玩转BDD(7)——测试重构
  4. STM32 BOOT0连接不当造成死机
  5. 黄河农场谋定区位优势-农业大健康·万祥军:现代农业示范区
  6. python3之协程(2)---yield与send实现协程操作
  7. uva 11572 ——Unique Snowflakes
  8. 从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践
  9. 一文读懂MySQL查询语句的执行过程
  10. fpcx教程:在Final Cut Pro中添加多语言字幕
  11. What Every Programmer Should Know About Memory
  12. 多御安全浏览器升级1.7.6版,新增扫描二维码功能
  13. 将 Ps 的调色效果保存为预设文件
  14. STM32/STM8+DMX512协议
  15. Structure from Motion Using OpenCV
  16. Docker 安装(使用阿里源)
  17. 前端八股文面试题集合
  18. 最新版Visual Studio Code下载及远程连接服务器(很详细哦)
  19. 电脑本地,WiFi都能连上,但就是上不去网
  20. Hbase按指定列族中指定列的列值查找数据Hbase命令

热门文章

  1. linux下wifi实现
  2. first-order-model学习笔记(二):运行参数
  3. CSS — 表格 和 表单
  4. 两化融合的定义和两化融合如何认定
  5. 自变量趋于无穷大时函数的极限
  6. 【蓝桥杯】有理数的循环节
  7. 同花顺_代码解析_技术指标_T、U
  8. java8 两个时间比较
  9. 线性时不变(LTI)系统
  10. node.js 最全命令行配置操作win10