js 对象 数组 删除

一.对象的删除:可以直接用delete进行删除,也可以将其赋值为undefined;

例如:

var goods_info={
        "000":{barcode:"000", type: '饮料', name: '可口可乐', price: '3', unit: '瓶'},
        "001":{barcode:"001", type: '饮料', name: '雪碧', price: '3', unit: '瓶'},
        "002":{barcode:"002", type: '水果', name: '苹果', price: '5.5', unit: '斤'},
        "003":{barcode:"003", type: '水果', name: '荔枝', price: '15', unit: '斤'},
        "004":{barcode:"004", type: '生活用品', name: '电池', price: '2', unit: '个'},
        "005":{barcode:"005", type: '食品', name: '方便面', price: '4.5', unit: '袋'}
};
delete goods_info["000"];
goods_info["001"]=undefined;
console.log(JSON.stringify(goods_info));

   他们都分别实现了删除对象里面的键和值。

这两种方法的差别是:delete是直接删除的,而undefined是把键的值变为空,来进行删除的。

二.数组的删除。要是删除数组里面的元素就必须知道其想对应元素的下标。知道了下标之后可以通过splice(i,j)方法进行删除。

1.splice(i,j):i代表要删除的元素的索引号(从0开始),j代表删除元素的个数。其数组的长度会变化,相对应的索引号也会变化。

例如:

var id=['001','002','003'];
id.splice(1,1)
console.log(JSON.stringify(id));//['001','003']

var id=['001','002','003'];
id.splice(1,2)
console.log(JSON.stringify(id));//['001']

 2.delete:这种方式数组长度不变,此时删除的元素变为null了,但是也有好处原来数组的索引也保持不变。

var id=['001','002','003'];
delete id[0];
console.log(JSON.stringify(id));// [null,"002","003"]

 至于这两种方法什么时候用就看,各位的需求了。

猜你喜欢

转载自975156298.iteye.com/blog/2313059
今日推荐