欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js 对象 数组 删除

程序员文章站 2022-04-10 17:10:21
...

一.对象的删除:可以直接用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"]

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