如何在对象循环中跳过键

How can I skip key in object loop

本文关键字:循环 对象      更新时间:2023-09-26

我想知道是否有任何方法可以跳过对象循环中的键。如果我有:

obj = {
   key1 : [ 1, 2, 3 ],
   key2 : [ 4, 5 ],
   key3 : []
}

例如,我怎么能跳过空的。因为我想join()该对象中的非空数组,并过滤它们。如果我加入该空数组,过滤器会查找空字符串,当然它找不到它,一切都会刹车。

var match = $('.widget');
for ( var i in obj ){
    var joined = obj[i].join();
    match = match.filter(joined);
}

我试图删除它:

if ( obj[i].length == 0 ) {
    delete obj[i]
};

但是出现错误,obj[i] 未定义且无法加入它。我怎么能跳过它。

使用循环控制:

for (var i in obj) {
   if (obj[i].length == 0) {
       continue;
   }
   ...
}

您需要传递密钥才能删除属性:

for ( var i in obj ){
    if ( obj[i].length == 0 ) {
        delete i
    }
}