我使用下面的代码删除JavaScript中嵌套的map对象的内容。它运行得很好,但看起来似乎可以使它更短。有什么想法吗?
if (temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).get(arguments[3]).get(arguments[4]).get(arguments[5]).get(arguments[6]).size == 1) {
temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).get(arguments[3]).get(arguments[4]).get(arguments[5]).delete(arguments[6])
if (temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).get(arguments[3]).get(arguments[4]).get(arguments[5]).size == 1) {
temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).get(arguments[3]).get(arguments[4]).delete(arguments[5])
if (temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).get(arguments[3]).get(arguments[4]).size == 1) {
temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).get(arguments[3]).delete(arguments[4])
if (temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).get(arguments[3]).size == 1) {
temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).delete(arguments[3])
if (temp.get(arguments[0]).get(arguments[1]).get(arguments[2]).size == 1) {
temp.get(arguments[0]).get(arguments[1]).delete(arguments[2])
if (temp.get(arguments[0]).get(arguments[1]).size == 1) {
temp.get(arguments[0]).delete(arguments[1])
if (temp.get(arguments[0]).size == 1) {
temp.delete(arguments[0])
}
}
}
}
}
}
}
1条答案
按热度按时间ilmyapht1#
首先编写一个实用函数,它可以导航到一个给定深度的嵌套Map/Set,这样,你就可以在一个递归函数中使用它来检索嵌套的值,如果它的大小为1,就删除它的外层Map/Set,然后递归直到没有嵌套了,或者直到找到一个大小不是1的值。