gpt4 book ai didi

javascript - 从对象中删除空值或空值

转载 作者:行者123 更新时间:2023-11-30 09:36:37 25 4
gpt4 key购买 nike

我有以下 JavaScript 对象:

var items = [
{
item1: '',
item2: 'foo'
},
{
item1: 'bar'
item2: ''
}
];

我想删除所有值为空或 null 的键/值对。以下内容似乎没有按预期工作:

$.each(items, function(i,v){
$.each(items[i], function(i2, v2){
if (v2 === "" || v2 === null){
delete items[i2];
}
});
});
console.log(items);

控制台日志返回以下错误:Uncaught TypeError: Cannot read property 'length' of undefined

如何正确地完成这项工作?

最佳答案

对于使用 jQuery .each 的解决方案:

var items = [{
item1: '',
item2: 'foo'
}, {
item1: 'bar',
item2: ''
}];

$.each(items, function(i, v) {
$.each(v, function(i2, v2) {
if (v2 === "" || v2 === null) {
delete v[i2];
}
});
});
console.log(items);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

你的 delete 部分在这里全错了:

delete items[i2];

您正在尝试从 items 而不是从项目本身删除属性(例如 item1)。

关于javascript - 从对象中删除空值或空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43232598/

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