当前位置:小鱼儿玄机二站 > 关于计算机 > js操作数组函数实例小结,JavaScript从数组中除去

js操作数组函数实例小结,JavaScript从数组中除去

文章作者:关于计算机 上传时间:2019-09-03

本文实例讲述了js操作数组函数。分享给大家供大家参考,具体如下:

本文实例讲述了JavaScript从数组中删除指定值元素的方法。分享给大家供大家参考。具体分析如下:

1.删除数组中指定的元素

下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个removeByValue的方法,调用非常简单

/**
 * 参考实例
foreach = function (obj, insp){
  if(obj== null && obj.constructor != Array){
  return [];
}
//obj是要处理的数组,obj==null 表示对象尚未存在;obj.constructor != Array 表示对象obj的属性的构造函数不是数组;
//constructor属性始终指向创建当前对象的构造函数。两个条件均满足,则返回空数组[];
//下面对constructor属性作进一步了解。
var obj= [1, 2, 3, 4]; // 等价于 var obj= new Array(1, 2, 3, 4);
console.log(obj.constructor === Array); // 返回true 表明obj的构造函数为Array;
var foo= function() { }; // 等价于 var foo = new Function();
console.log(foo.constructor === Function); // 返回true 表明foo的构造函数为Function;
var obj = new Foo(); //由构造函数实例化一个obj对象
console.log(obj.constructor === Foo); // 返回true 表明obj的构造函数为Foo;
 */
//删除数组中指定的元素
function del(val, arr)
{
  //检测参数
  if (arr == null && arr.constructor != Array) {
    return [];
  }
  var newarr = []; //不存在的保存到新数组中
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] != val)
      newarr.push(arr[i]);
  }
  return newarr;
}
alert(del(2, [1, 2, 3, 4, 5, 2]));

定义函数removeByValue进行元素删除

2.去除重复的元素

function removeByValue(arr, val) {
  for(var i=0; i<arr.length; i++) {
    if(arr[i] == val) {
      arr.splice(i, 1);
      break;
    }
  }
}
var somearray = ["mon", "tue", "wed", "thur"]
removeByValue(somearray, "tue");
//somearray will now have "mon", "wed", "thur"
/**
 *去除数组中重复的元素
把元素的值存为一个新数组的key,key是不可以重复的,然后变量次数组即可
 */
function unique(data) {
  data = data || [];
  var a = {};
  len = data.length;
  for (var i = 0; i < len; i++) {
    var v = data[i];
    if (typeof(a[v]) == 'undefined') {
      a[v] = 1;
    }
  };
  data.length = 0;
  for (var i in a) {
    data[data.length] = i;
  }
  return data;
}
alert(unique([12,12,12,34]));

为数组对象增加相应的的方法,调用就变得更加简单了,直接调用数组的removeByValue方法即可删除指定元素

3.删除数组指定下标的元素

Array.prototype.removeByValue = function(val) {
  for(var i=0; i<this.length; i++) {
    if(this[i] == val) {
      this.splice(i, 1);
      break;
    }
  }
}
var somearray = ["mon", "tue", "wed", "thur"]
somearray.removeByValue("tue");
//somearray will now have "mon", "wed", "thur"
/**
 *删除数组的指定下标元素 
 *
 * i 的值是一直在变的,n的值是只有if条件成立的时候才会变(会依次递增)
 */
Array.prototype.remove=function(dx)
 {
  if(isNaN(dx)||dx>this.length){return false;}
  for(var i=0,n=0;i<this.length;i++)
  {
    if(this[i]!=this[dx])
    {
      this[n++]=this[i]
    }
  }
  this.length-=1
 }
var arr = [1,2,3,4,2,5];
alert(arr);
arr.remove(2);
alert(arr);

希望本文所述对大家的javascript程序设计有所帮助。

希望本文所述对大家JavaScript程序设计有所帮助。

您可能感兴趣的文章:

  • js删除数组元素、清空数组的简单方法(必看)
  • js删除Array数组中指定元素的两种方法
  • Javascript根据指定下标或对象删除数组元素
  • 解析javascript 数组以及json元素的添加删除
  • JS删除数组里的某个元素方法
  • JavaScript数组Array对象增加和删除元素方法总结
  • 基于JavaScript实现移除(删除)数组中指定元素
  • Javascript循环删除数组中元素的几种方法示例
  • javascript数组操作(创建、元素删除、数组的拷贝)
  • javascript删除数组重复元素的方法汇总
  • JS数组array元素的添加和删除方法代码实例
  • JS实现根据指定值删除数组中的元素操作示例

您可能感兴趣的文章:

  • javascript中Array()数组函数详解
  • JavaScript中实现PHP的打乱数组函数shuffle实例
  • JavaScript数组函数unshift、shift、pop、push使用实例
  • javascript 定义初始化数组函数
  • 最实用的JS数组函数整理

本文由小鱼儿玄机二站发布于关于计算机,转载请注明出处:js操作数组函数实例小结,JavaScript从数组中除去

关键词: