、JS删除数组元素
view plaincopy to clipboardprint?
1.delete方法:delete arr[1]
这种方式数组长度不变,此时arr[1]变为undefined了,但是也有好处原来数组的索引也保持不变,此时要遍历数组元素可以才用
for(index in arr)
document.write(’arr[’+index+’]=’+arr[index]);
这种遍历方式跳过其中undefined的元素
* 该方式IE4.o以后都支持了
2.数组对象splice方法:arr.splice(1,1);
这种方式数组长度相应改变,但是原来的数组索引也相应改变
splice参数中第一个1,是删除的起始索引(从0算起),在此是数组第二个元素
第二个1,是删除元素的个数,在此只删除一个元素,即’b';
此时遍历数组元素可以用普通遍历数组的方式,比如for,因为删除的元素在
数组中并不保留
* 该方法IE5.5以后才支持
值得一提的是splice方法在删除数组元素的同时,还可以新增入数组元素
比如arr.splice(1,1,’d',’e'),d,e两个元素就被加入数组arr了
结果数组变成arr:’a',’d',’e',’c’本文出自 51CTO.COM技术博客
1.delete方法:delete arr[1]
这种方式数组长度不变,此时arr[1]变为undefined了,但是也有好处原来数组的索引也保持不变,此时要遍历数组元素可以才用
for(index in arr)
document.write(’arr[’+index+’]=’+arr[index]);
这种遍历方式跳过其中undefined的元素
* 该方式IE4.o以后都支持了
2.数组对象splice方法:arr.splice(1,1);
这种方式数组长度相应改变,但是原来的数组索引也相应改变
splice参数中第一个1,是删除的起始索引(从0算起),在此是数组第二个元素
第二个1,是删除元素的个数,在此只删除一个元素,即’b';
此时遍历数组元素可以用普通遍历数组的方式,比如for,因为删除的元素在
数组中并不保留
* 该方法IE5.5以后才支持
值得一提的是splice方法在删除数组元素的同时,还可以新增入数组元素
比如arr.splice(1,1,’d',’e'),d,e两个元素就被加入数组arr了
结果数组变成arr:’a',’d',’e',’c’本文出自 51CTO.COM技术博客
二、删除重复元素
view plaincopy to clipboardprint?
Array.prototype.del = function(n) {
if (n<0) {
return this;
}
return this.slice(0,n).concat(this.slice(n+1,this.length));
}
Array.prototype.removeRepeat=function() {
this.sort();
var rs = [];
var cr = false;
for (var i=0; i<this.length; i++)
{
if (!cr) cr = this[i];
else if (cr==this[i]) rs[rs.length] = i;
else cr = this[i];
}
var re = this;
for (var i=rs.length-1; i>=0; i--) re = re.del(rs[i]);
return re;
}
/////////////////////////////////////////////
Array.prototype.unique=function()
{
var a={};
for(var i=0;i<this.length;i++)
{
if(typeof a[this[i]]=="undefined")
a[this[i]]=1;
}
this.length=0;
for(var i in a)
this[this.length]=i;
return this;
}
var a = [1,2,4,12,5,3,5,4,8,5,2,8,8,1,5];
alert(a +"\n"+ a.unique());
Array.prototype.del = function(n) {
if (n<0) {
return this;
}
return this.slice(0,n).concat(this.slice(n+1,this.length));
}
Array.prototype.removeRepeat=function() {
this.sort();
var rs = [];
var cr = false;
for (var i=0; i<this.length; i++)
{
if (!cr) cr = this[i];
else if (cr==this[i]) rs[rs.length] = i;
else cr = this[i];
}
var re = this;
for (var i=rs.length-1; i>=0; i--) re = re.del(rs[i]);
return re;
}
/////////////////////////////////////////////
Array.prototype.unique=function()
{
var a={};
for(var i=0;i<this.length;i++)
{
if(typeof a[this[i]]=="undefined")
a[this[i]]=1;
}
this.length=0;
for(var i in a)
this[this.length]=i;
return this;
}
var a = [1,2,4,12,5,3,5,4,8,5,2,8,8,1,5];
alert(a +"\n"+ a.unique());
三、其他
new Array()
new Array(len)
new Array([item0,[item1,[item2,...]]]
使用数组对象的方法:
var objArray=new Array();
objArray.concact([item1[,item2[,....]]]-------------------将参数列表连接到objArray的后面形成一个新的数组并返回,原有数组不受影响。如:var arr=["a","b","c"];
arr.concact("d","e");
将返回包括从"a"到"e"字母元素的数组。而arr本身不受影响。
objArray.join(separator)-----------------以separator指定的字符作为分割符,将数组转换为字符串,当seperator 为逗号时,其作用和toString()相同。
objArray.pop()---------通俗的讲,就是弹出数组的最后一个元素。结合下面的push方法,使得将数组作为栈来使用成为可能。pop方法返回数组最后一个元素的值,并将length属性减1,即返回后立即丢失最后一个元素。
objArray.push([value1[,value2[,....]]])-------------将参数添加到数组的结尾。如:[1,2,3, 4].push("a","b")将得到[1,2,3,4,"a","b"]
objArray.reverse()将数组中的元素反转排列。如:[1,2,3].reverse()将得到[3,2,1],这个操作是在原有数组上经行操作,同时也返回数组本身
objArray.shift()-----------移去数组的第一个元素,并返回这个元素的值。这个方法的性质和pop方法很类似,pop方法是移去最后一个元素。
objArray.slice(start,end)----------- 返回数组对象的一个子集,索引从start开始(包括 start),到end结束(不包括end),原有数组不受影响。如:[1,2,3,4,5,6].slice(1,4)将得到[2,3,4]。当 start或者end为负数时,则使用他们加上length后地值。如:[1,2,3,4,5,6].slice(-4,-1)将得到[3,4,5]。如果end小于等于start,将返回空数组。
objArray.sort(comparefn)------- 根据comparefn定义的大小比较函数,对一个数组进行排序。函数comparefn必须接受两个参数element1,element2,如果需要需要element1排在element2之前,应该返回一个负数;如果需要element1排在element2之后,应该返回一个正数,如果两个数平等对待(即保持原有顺序)则返回0。当省略comparefn时,则元素按照字典顺序排列。如:对定义的比较函数cmp: function cmp(e1,e2){return e1-e2;}则[3,4,2,7].sort(cmp)将得到[2,3,4,7].
objArray.splice(start,deleteCount[,item1,item2[,...]]]) 这是一个复杂的函数,用于完成数组元素的删除 取代和插入操作。其中,start参数表示要进行操作的索引位置,deleteCount指从start开始要删除的元素的元素个数(包括了start位置),如果deleteCount省略,则表示从start开始要删除数组的剩余部分。[,item1[,item2[,...]]]则表示可选的插入到start之前的元素列表。如:
var arr=[0,1,2,3,4,5,6];
arr.splice(1,1);
document.write(arr);//显示“0,2,3,4,5,6”
arr=[0,1,2,3,4,5,6];
arr.splice(0,0,"a","b");
document.write(arr);//显示“a,b,0,1,2,3,4,5,6"
arr=[0,1,2,3,4,5,6];
arr.splice(3,2,"c","d");
document.write(arr);//显示"0,1,2,c,d,5,6"
objArray.unshift(item1[,item2[,...]]])------------------- 将参数列表插入到数组的开头。其性质和push方法类型,但push方法是将元素添加到数组的结尾。如: [1,2,3,4].unshift("a","b")将得到["a","b",1,2,3,4]。
从大到小冒泡排序法:
转自:http://blog.csdn.net/staywithc/archive/2009/03/09/3972443.aspx
相关推荐
本篇文章将详细介绍几种在JavaScript中删除数组元素的方法,帮助开发者更好地理解和应用这些技巧。 1. **pop() 方法** `pop()` 方法用于删除并返回数组的最后一个元素。如果数组为空,它将不执行任何操作并返回 `...
js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js数组删除指定元素js...
本文详细讲解了如何使用JavaScript进行数组相减的操作,即删除数组a中所有与数组b相同的元素。这涉及到JavaScript中的数组遍历、元素比较以及数组的删除操作等核心知识。通过具体示例,我们学习了如何编写一个函数来...
删除数组中的某个元素JS删除数组中的某个元素 删除数组中的某个元素是JavaScript编程中经常遇到的问题,特别是在数组操作中。这篇文章将会详细介绍...我们可以根据实际情况选择合适的方法来实现数组元素的删除操作。
本文实例讲述了JavaScript删除数组元素的方法。分享给大家供大家参考。具体分析如下: JS中可以通过delete删除数组元素,但是删除后数组的大小不会改变 [removed] <!-- var days = ["Sunday","Monday","Tuesday...
在JavaScript中,删除数组中指定值的元素是数组操作中常见的一环。这里我们讨论的不是删除指定索引位置的元素,而是删除数组中所有匹配给定值的元素。这是一个实用的功能,可以让我们更加灵活地处理数组数据。 首先...
本文将详细讲解如何通过值或索引来删除数组元素并减少数组长度,以及相关的JavaScript数组操作方法。 首先,我们来看如何通过值来删除数组元素。在给定的示例中,定义了一个名为`deleteValue`的方法,该方法添加到`...
本教程将详细探讨如何在JavaScript中删除数组中的指定元素。 首先,我们有两种主要的方法来实现这个功能:`filter()`方法和`splice()`方法。这两种方法各有特点,适用于不同的场景。 1. **使用`filter()`方法**: ...
过滤函数需要返回一个布尔值,用来指示是否保留该数组元素。如果`grep()`函数的第三个参数`invert`设置为`true`,则过滤函数返回`true`的元素将被删除,返回`false`的元素会被保留。 具体到使用`grep()`方法删除...
本文将详细介绍七种在JavaScript中删除数组元素的方法。在讲解之前,先要了解数组在JavaScript中的特性,JavaScript的数组非常灵活,不仅仅是固定的数据类型集合,而是可以动态增删改查的。JavaScript数组的灵活性...
本篇文章将详细介绍如何使用JavaScript删除数组元素以及清空数组的几种方法。 1. **清空数组** 清空数组最简单的方法是使用`splice()`方法。例如: ```javascript var ary = [1, 2, 3, 4]; ary.splice(0, ary....
内容概要:介绍js删除数组中指定元素的多种方法,分为四个大类:删除第一个元素;删除最后一个元素;删除数组中某个指定下标的元素;删除数组中某个指定元素。每个大类至少提供了三种删除方法,各有优劣,但都能实现...
js删除数组中指定元素 JavaScript 中可以使用 `splice()` 方法来删除数组中的指定元素。 `splice()` 方法接受两个参数:要删除的元素的索引和要删除的元素的个数。如果要删除的元素只有一个,可以将第二个参数设为 ...
- `index`:要开始修改的数组元素的索引位置。 - `howMany`:要删除的元素数量。如果为0,则不删除任何元素,但可以添加新的元素。 - `item1, ..., itemX`(可选):要在被删除元素的位置插入的新元素。 例如,如果...
这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: [“a”,undefined,”c”,”d”] 只是被删除的元素变成了 undefined 其他的元素的键值还是不变。 方法二:aplice 删除数组 ...
3. **过滤操作**:另一种策略是,当访问数组时,使用过滤函数(如JavaScript的`filter()`方法)来创建一个新的只包含未被删除元素的视图。这种方法并不会改变原数组,而是返回一个新的数组,它包含了所有未被标记为...
JavaScript 提供了一个 delete 关键字用来删除(清除)数组元素。要注意的是,使用 delete 删除元素之后数组长度不变,只是被删除元素被置为 empty 了。 示例代码: ``` let index = 3 let arr = [1,2,3,4,5] ...
本篇将详细介绍JavaScript中删除数组元素的几种常见方法。 1. `splice()` 方法: `splice()` 是JavaScript中最通用的数组操作方法,它允许添加、删除或替换数组中的元素。对于删除操作,`splice()` 接受两个参数:...