通过扩展运算符和fliter来达到不改变原数组的情况下,添加和删除元素

1、添加元素

var numList = [1, 2, 3, 4, 5, 6, 7, 8, 9]// 第一种方案
function add (newList, num) {return [...newList, num]
}// 第二种方案
function add (arr, num) {const newArr = [...arr] // copy arr to then new arraynewArr.push(num) // Add num parameter to the end of the new array.return newArr // Return the new array.
}
// 输出
var newNumList = add(numList, 10)
console.log('newNumList', newNumList) // newNumList , [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log('numList', numList) // numList ,[1, 2, 3, 4, 5, 6, 7, 8, 9]

2、删除元素

var numList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]// 第一种方案
function remove (list, num) {return list.filter(e => e !== num)
}// 第二种方案
function remove (arr, num) {const newArr = [...arr] // Copy the numlist array to a new array.if (newArr.indexOf(num) >= 0) {newArr.splice(newArr.indexOf(num), 1) // Remove the given paramater from the new array.return newArr // Return the new array.}
}
// 输出
var removeNumList = remove(numList, 10)
console.log('newNumList', removeNumList) // newNumList , [1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log('numList', numList) // numList ,[1, 2, 3, 4, 5, 6, 7, 8, 9,10]

js不改变原数组的情况,添加或删除指定的元素相关推荐

  1. js中改变原数组的方法以及解决改变原数组的方法

    js中改变原数组的方法以及解决改变原数组的方法 参考文章: (1)js中改变原数组的方法以及解决改变原数组的方法 (2)https://www.cnblogs.com/Ingots/p/1151701 ...

  2. js操作改变原数组的解决方法

    最近在开发的时候发现js中的循环操作会改变原数组,var一个变量承接也不行 甚至连map方法都会改变原数组,下面是解决方法 let a = ['a','b','c'] let b = [[2, 0, ...

  3. java数组元素替换操作_js数组操作(添加、删除、替换元素)

    1.添加元素 函数:push(para),参数说明para要添加的元素 示例: var lang = ["php","java","javascrip ...

  4. JavaScript数组方法大全(分为会不会改变原数组)

    若看不懂注释的输出方式可以将代码粘贴到浏览器中执行观看 1. 数组通用方法 Array.from: 将一个类数组转化成数组 类数组:Set, Map,对象等可遍历对象皆为类数组 Array.from( ...

  5. 数组常用方法:是否改变原数组

    改变原数组的: shift:将第一个元素删除并且返回删除元素,空即为undefined unshift:向数组开头添加元素,并返回新的长度 pop:删除最后一个并返回删除的元素 push:向数组末尾添 ...

  6. JS数组方法中哪些会改变原数组,哪些不会?

    前言 作为一名前端开发人员,我们每天都会与数组打交道.JS 也提供了很多操作数组的原生 API 供我们调用.在这些方法里面,有的方法会改变原数组,有些不会改变原数组.别看这一点小小的区别,往往会造成巨 ...

  7. html设置数组的方法,js改变原数组的方法有哪些?

    js改变原数组的方法 1.pop() pop():删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 un ...

  8. JS中会改变原数组和原字符串的API方法总结

    1.会改变原数组的方法 arr.push(item1,item2,·····,itemx) arr.pop() arr.unshift(item1,item2,·····,itemx) arr.shi ...

  9. js 数组操作方法(不改变原数组与改变原数组方法)

    一: 不改变原数组的方法 1. concat() 方法用于连接两个或多个数组 let a =[1,2,3], b=[4,5,6]; let c = a.concat(b); console.log(a ...

最新文章

  1. 分享自制的C#和VB Code互转工具
  2. iOS 不要用文本编辑pod file
  3. 金城教授:基于手绘草图的图像检索技术研究
  4. MySQL中有关TIMESTAMP和DATETIME的总结
  5. Scala数组:使用()代替java的[]
  6. su user oracle does not exist,Linux下oracle用户无法su切换的异常【终极解决方案_生产环境亲测有效】...
  7. JS-键盘事件之方向键移动元素
  8. Xamarin效果第一篇之时间轴
  9. python画曲线图-如何使用python画曲线图
  10. python编辑器使用技巧大全_markdown编辑器常用功能汇总
  11. 5.CND技术详解---全局负载均衡工作原理及实现
  12. 理光Ricoh Aficio MP 6002 一体机驱动
  13. 卡西欧手机计算机软件,卡西欧5800计算器手机版app
  14. Python办公自动化实践:连接MySQL数据库实现每日定时批量发送报表邮件
  15. 如何提高人际交往的沟通技巧
  16. 打地鼠小游戏(Laya.box)
  17. 什么是数据库?数据库有什么作用?
  18. 用word制作正规公文(转)
  19. uni app 自动化索引列表
  20. 最新,2022年JCR正式发布(附影响因子名单下载)

热门文章

  1. java quartz 重启不了_java – 重新启动quartz调度程序而不会出现错误
  2. 数据库发展史2--数据仓库
  3. 计算机pm,PM、PMP、PMO分别都是什么 以及三者的关系
  4. 随心所欲——享受恬淡的心态
  5. docx转换html(mammoth)
  6. 第三十一讲:switch语句(项目三十一:定期利息计算器)
  7. 融云聊天室属性 kv
  8. 反向迭代器---迭代器适配器
  9. mxnet 数据操作
  10. Java毕业设计-电影售票管理系统