zoukankan      html  css  js  c++  java
  • JavaScript数组及相关方法

    数组
    1、创建数组
    var array = new Array();
    var array = new Array(size);//指定数组的长度
    var array = new Array(item1,item2……itemN);//创建数组并赋值
     
    2、取值、赋值
    var item = array[index];//获取指定元素的值
    array[index] = value;//为指定元素赋值
     
    3、添加新元素
    array.push(item1,item2……itemN);//将一个或多个元素加入数组,返回新数组的长度
    array.unshift(item1,item2……itemN);//将一个或多个元素加入到数组的开始位置,原有元素位置自动后移,返回  新数组的长度
    array.splice(start,delCount,item1,item2……itemN);//从start的位置开始向后删除delCount个元素,然后从start的位置开始插入一个或多个新元素
     
    //数组任意位置插入
    Array.prototype.insert = function (index, item) {
        this.splice(index, 0, item);
    };
     
    // 数组增加方法
    Array.prototype.indexOf = function(val) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] == val) return i;
        }
        return -1;
    };
     
    //删除数组arr中含有val的项
    function arrayRemove(arr, val)
    {
        var index = arr.indexOf(val);
        if (index > -1) {
            arr.splice(index, 1);
        }
    }
     
    //删除数组arr中k为val的项(k和val都是字符串)
    function arrayRemoveKV(arr, k, val)
    {
        var index = -1;
        for (var i = 0; i < arr.length; i++) {
            if (arr[i][k] == val)
            {
                index = i;
                break;
            }
        }
        if (index > -1) {
            arr.splice(index, 1);
        }
    }
     
    4、删除元素
    array.pop();//删除最后一个元素,并返回该元素
    array.shift();//删除第一个元素,数组元素位置自动前移,返回被删除的元素
    array.splice(start,delCount);//从start的位置开始向后删除delCount个元素
     
    5、数组的合并、截取
    array.slice(start,end);//以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
    array.concat(array1,array2);//将多个数组拼接成一个数组
     
    6、数组的排序
    array.reverse();//数组反转
    array.sort();//数组排序,返回数组地址
     
    7、数组转字符串
    array.join(separator);//将数组原因用separator连接起来
     
    列了这么都就是没有发现删除数组元素的方法!于是查了一些资料找到了解决方法。
    删除数组元素需要扩展Array原型prototype.
     
    Array.prototype.del=function(index){
            if(isNaN(index)||index>=this.length){
                return false;
            }
            for(var i=0,n=0;i
                if(this[i]!=this[index]){
                    this[n++]=this[i];
                }
            }
            this.length-=1;
        };
     

    清空数组:
    1. splice方法: var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组,即被清空了
    2. length设为0: var ary = [1,2,3,4]; ary.length = 0; console.log(ary); // 输出 [],空数组,即被清空了
    3.赋值为[]:   var ary = [1,2,3,4]; ary = []; // 赋值为一个空数组以达到清空原数组

     
    jQuery根据元素值删除数组元素的方法
     
    删除C这个元素 ,前提不知道C在这个数组的下标
    var arr = ['a','b','c','d'];
    arr.splice($.inArray('c',arr),1);
    jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。
    该函数属于全局jQuery对象。
    jQuery.inArray()函数的返回值为Number类型,返回指定值在数组中的索引。如果没有找到,则返回 -1。
    如果数组中存在多个相同的值,则以查找到的第一个值的索引为准。
    注意:如果要判断数组中是否存在指定值,你需要通过该函数的返回值不等于(或大于)-1来进行判断。
  • 相关阅读:
    架构,改善程序复用性的设计(目录)
    如何让你的系统配置文件更合理
    MVC验证(自动在基类中验证实体的数据有效性),本人最满意的作品之一
    MVC验证(只验证指定字段)
    Redis学习笔记~实现消息队列比MSMQ更方便
    FRG图像文件格式(四):编码技术
    缓冲区
    Oracle体系结构及备份(十一)——bcakgroundprocess
    Excel编程(2)自动填充
    设计模式:策略模式
  • 原文地址:https://www.cnblogs.com/codebook/p/5909498.html
Copyright © 2011-2022 走看看