如何将空输入值更改为空数组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将空输入值更改为空数组?相关的知识,希望对你有一定的参考价值。

var input = [readLine() ?? ""]

如果我刚进入,输入有[""]

如果我没有输入任何内容,我想将输入设为空列表。

我该怎么做?

这是因为当输入为空时,我希望输入的计数为零。

答案

您可以使用IF语句检查输入是否为空字符串,如果是,则将输入设置为空数组。可能有更好的方法来做到这一点,但我认为这将有效。

if input == [""] {
    input = []
}

我希望这有帮助。

另一答案

另一种方法是定义自己的函数来读取行或返回一个空数组:

private func myReadLine() -> [String] {
    let line = readLine()
    if line == [""] {
        return []
    } else {
        return line
    }
}

然后在呼叫站点你可以写:

var input = myReadLine()

这使逻辑与调用代码分离,更易于阅读。如果您想稍后修改输入处理条件,它还具有更容易更改的附加优势。

另一答案

只需过滤掉空值:

input = input.filter { !$0.isEmpty }

甚至:

let input = [readLine()]
   .compactMap { $0 } // remove nil
   .filter { !$0.isEmpty } // remove empty strings

以上是关于如何将空输入值更改为空数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何从覆盖的雄辩的 save() 方法访问模型属性? (将空输入转换为空)

access中查询出来值的为空,如何将空值改为0,具体表达式是啥,从啥地方输入表达式,多谢

将空 JSON 数组反序列化为空 TreeMap

谷歌编译器没有将空数组分配给变量?

将空数组作为可选参数的默认值传递[重复]

Lua 脚本将空数组转换为对象