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

我们主要解决数组在js中的使用问题

1、数组的创建

主要有两种方式:

var  arr1 = new Array();

var  arr2 = [ ''  ,  ''  ,  ''  ,  ''   ];

2、数组赋值

arr1.push(  ' value'  );

        var arr1 = new Array();
        var arr2 = ['html' , 'js' , 'jsp' , 'css'];
        
        arr1.push('java');
        arr1.push('db');
        arr1.push('sql');
        arr1.push('c#');
        arr1.push('oracle');
        
        alert("arr1=="+arr1);
        alert("arr2=="+arr2);

输出为 arr1 ==  java ,db , sql , c# , oracle  

             arr2 ==  html , js , jsp , css 

3、根据给定索引删除数组值

arr1.splice(index, n);    //index:数组中需要删除数据的起始位置;n:需要删除的元素,数据的个数。

arr1.splice(0,arr1.length);    //删除所有的数组值,即清空数组。

arr1.splice(2,1);

alert("arr1=="+arr1); 

 arr2.splice(0,arr2.length); 

 alert("arr2=="+arr2);

输出为 arr1 ==  java ,db , c# , oracle                 数组索引为2 的值被删除了

 arr2 ==                                                                       数组中的所有元素全被删除了

4、根据索引位置插入元素

array.splice(index,0,data1,data2,....);

index:数组中需要插入数据的起始位置;

0:删除的个数为0;

data1,data2:需要插入的元素,用逗号隔开

5、根据索引位置替换元素

array.splice(index,n,data1,data2,......);

index:需要替换的元素的起始位置;

n:需要替换的元素的个数,实质是删除;

data1,data2:需要插入元素,用逗号隔开;

总的来说,splice实质上是通过删除元素来实现插入、删除、替换的;

6、根据给定值删除数组值

自定义的方法:

function removeByValue(arr, val) {

    for (var i = 0; i < arr.length; i++) {

        if (arr[i] == val) {

            arr.splice(i, 1);

            break;

        }

    }

}                                        其中:arr是数组名,val是要删除的元素。

 

附上 操作数组的方法

push 在数组尾部添加,返回添加后的数组元素的个数

unshift 在数组头部添加,返回数组添加后元素的个数

shift 删除数组的第一个元素,返回被删除的元素

pop 删除数组的最后一个元素,返回被删除的元素

splice 删除、插入、替换    执行的是操作,改变原数组的值,不返回任何值

slice(start,end) 截取数组的一部分,返回截取的数组,start为起始位置,end为结束为止,不包括结束的位置元素

concat    a.concat(b)  将两个数组拼接在一起,返回一个拼接后的新数组,且a内部的元素在新数组的前部

toString 将数组转换成字符串    返回一个字符串,toLocalString 实现与toString方法类似,不过在IE下会出现兼容性问题,比如字符前后出现空格,数字出现小数,导致length属性变化,所以尽量使用string

join(''& '') 将数组以&符号间隔转换为字符串   返回一个字符串

sort(function(a,b){return a-b}) 将数组进行排序,如果没有function函数,则按字符编码排序   返回操作后的新数组 

reverse()  将数组进行倒序排序,即将数组的顺序颠倒        返回倒序排列后的新数组

charAt(index)获取字符串制定顺序上的元素,返回要查询位置的元素,不能用于查询数组元素

如有遗漏,欢迎补充。

猜你喜欢

转载自blog.csdn.net/spurs611/article/details/81981027