如何一个js采用键值对的方法,该怎么删除一个元素呢
 var json = new Array();
 json['er1'] = "111";
 json['er2'] = "222";
 json['er3'] = "333";
我想删除下表为er1的元素该怎么删除,求解

解决方案 »

  1.   

    shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 
    var a = [1,2,3,4,5]; 
    var b = a.shift(); //a:[2,3,4,5]   b:1 pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined 
    var a = [1,2,3,4,5]; 
    var b = a.pop(); //a:[1,2,3,4]   b:5 //不用返回的话直接调用就可以了splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 
    var a = [1,2,3,4,5]; 
    var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5]   b:[3,4] 
    var b = a.splice(0,1); //同shift 
    a.splice(0,0,-2,-1); var b = a.length; //同unshift 
    var b = a.splice(a.length-1,1); //同pop 
    a.splice(a.length,0,6,7); var b = a.length; //同push 
      

  2.   

    delete是删除对象的,数组也是对象
      

  3.   

    delete 是个什么方法,怎么用啊,js自带的还是其它的,求详解
      

  4.   


    就直接写delete json.er1;
      

  5.   

    1、删除数组中的内容是不能用delete,因为delete arr[0]直会把arr[0]设置成undefined,并不能使数组length减1
    2、js数组添加、删除元素都用splice方法,该方法很好,很灵活
      

  6.   

    json['er1'] = "111";
    加的并不是数组元素,而是属性
    delete是删除对象属性的
      

  7.   

     var json = new Array();
     json['er1'] = "111";
     json['er2'] = "222";
     json['er3'] = "333";楼主的这种写法是不是有问题, json['er1'] = "111";这种方式是普通的js对象使用的方式,你干嘛要把json设置为new Array();如果楼主想按键删除的话,建议楼主json  = {},之后delete  json['er1'];即可。
      

  8.   

    你这样的用法应该用Object...数组是一个特殊的对象,一般只采用自然数下标。。 var json = new Object();
     json['er1'] = "111";
     json['er2'] = "222";
     json['er3'] = "333";
     delete json['er1'];
      

  9.   

    delete是一个运算符,js原生的。。