为 Javascript 数组添加 shuffle 方法

本文介绍两种JavaScript中实现数组元素删除的方法。第一种是通过扩展Array原型来实现,使得所有数组实例都具有remove方法;第二种则是定义一个静态方法,不对Array原型进行修改。这两种方法均能有效地从数组中移除指定范围内的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种:

Javascript代码 

  1. //Array Remove - By John Resig (MIT Licensed)   
  2. Array.prototype.remove = function(from, to) {   
  3.     var rest = this.slice((to || from) + 1 || this.length);   
  4.     this.length = from < 0 ? this.length + from : from;   
  5.     return this.push.apply(this, rest);   
  6. };  

[JavaScript] view plain copy

  1. //Array Remove - By John Resig (MIT Licensed)  
  2. Array.prototype.remove = function(from, to) {  
  3.     var rest = this.slice((to || from) + 1 || this.length);  
  4.     this.length = from < 0 ? this.length + from : from;  
  5.     return this.push.apply(this, rest);  
  6. };  



这个函数扩展了JavaScript的内置对象Array,这样,我们以后的所有声明的数组都会自动的拥有remove能力 

用法:

Javascript代码 

  1. var array = ["one", "two", "three", "four", "five", "six"];   
  2. array.remove(0);//删除第一个元素   
  3. array.remove(-1);//删除倒数第一个元素   
  4. array.remove(0,2);//删除数组中下标为0-2的元素(3个)  

[JavaScript] view plain copy

  1. var array = ["one", "two", "three", "four", "five", "six"];  
  2. array.remove(0);//删除第一个元素  
  3. array.remove(-1);//删除倒数第一个元素  
  4. array.remove(0,2);//删除数组中下标为0-2的元素(3个)  





第二种:

Javascript代码 

  1. //Array Remove - By John Resig (MIT Licensed)   
  2. Array.remove = function(array, from, to) {   
  3.     var rest = array.slice((to || from) + 1 || array.length);   
  4.     array.length = from < 0 ? array.length + from : from;   
  5.     return array.push.apply(array, rest);   
  6. };  

[JavaScript] view plain copy

  1. //Array Remove - By John Resig (MIT Licensed)  
  2. Array.remove = function(array, from, to) {  
  3.     var rest = array.slice((to || from) + 1 || array.length);  
  4.     array.length = from < 0 ? array.length + from : from;  
  5.     return array.push.apply(array, rest);  
  6. };  



第二种方法的操作方式与上一种一样,但是不影响全局对象,相当于给JavaScript内置的Array添加了一个静态方法 

用法:

Javascript代码

  1. var array = ["one", "two", "three", "four", "five", "six"];   
  2. Array.remove(array, 0, 2);//删除0, 1, 2三个元素  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值