唯品秀前端博客

通常来讲,一个对象身上key值多了,似乎对我们程序这块没大的影响,因为你只管拿你需要的就是了,但在某些时候,可能会觉得显得数据冗余,并且如果没处理好兼容,容易造成bug,比如在向后端传值请求数据时候,很多组件是公共的,但参数不同,很多情况我们是不需要的置为''或者undefined,那么能否去删除这个key?答案是肯定的!

基本用法

对象删除属性

1
2
3
4
5
6
7
var object = {
    "name": "小明",
    "age": "18"
};
delete object.age;  //返回值是true

console.log(object);

数组剔除某项

1
2
3
4
5
6
var array = [1, 2, 3, 4];
delete array[2];
console.log(array,array.length)

// 结果
 [1, 2, undefined × 1, 4] 4

ES6实现

对象删除属性

1
2
3
4
5
6
7
8
const obj = {
    name: 'detanx',
    age: 24,
    height: 180
}
// 剔除height
const { height, ...otherObj } = obj;
console.log(otherObj) // {name: "detanx", age: 24}

数组剔除某项

1
2
3
4
const arr = ['detanx', 24, 180]
// 剔除 第一项
const [ name, ...otherArr ] = arr;
console.log(otherArr)   // [24, 180]

小结

delete方法普通json格式对象可直接删除,修改原本数据,并且删除后的返回值是布尔值,但据说要比“替代”设置慢100倍(属性置空)。用于数组删除某项时候,会产生垃圾,并且长度并没变。

本站所有文章、图片、资源等如无特殊说明或标注,均为来自互联网或者站长原创,版权归原作者所有;仅作为个人学习、研究以及欣赏!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理,邮箱:343049466@qq.com
赞(3) 打赏
标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"Javascript中如何彻底删除对象中的某个属性"

表情

最新评论

    暂无留言哦~~
谢谢你请我吃鸡腿*^_^*

支付宝扫一扫打赏

微信扫一扫打赏