gpt4 book ai didi

javascript - 无法删除 Javascript 中的对象属性

转载 作者:行者123 更新时间:2023-11-30 07:51:56 24 4
gpt4 key购买 nike

obj = {a: []}

我想删除obj.a。此代码有效

if(!obj.a.length)
delete obj.a //work

这不是

function _delete(o) {
if(!o.length)
delete o
}

_delete(obj.a) //not work

有什么办法让它起作用吗?

最佳答案

您不能删除 [],这是您传递给函数的所有内容。

你可以创建一个像这样的函数

function _delete(obj, prop) {
if (obj[prop] && ! obj[prop].length) delete obj[prop];
}

并用

调用它
_delete(obj, 'a');

我还会检查该属性是什么,以及它是否存在。当您似乎以数组为目标时,请添加检查它是否是通过的数组:

function _delete(obj, prop) {
if (Array.isArray(obj[prop]) && ! obj[prop].length) delete obj[prop];
}

关于javascript - 无法删除 Javascript 中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com