gpt4 book ai didi

list - 如何组合嵌套列表中的所有字符串?

转载 作者:行者123 更新时间:2023-12-04 22:46:51 25 4
gpt4 key购买 nike

我有一个列表,其中包含多级嵌套列表。每个列表都可以有字符串和其他类型的实例。

例如。

var list = [ 'a', 'w', ['e', ['f', new Object(), 'f'], 'g'], 't', 'e'];

我想编写一个函数(比如 compress )将字符串与其同级组合在一起,并保持其他类型实例不变,最后,得到一个没有嵌套列表的列表。

压缩(列表){
//如何 ?
}

以及 compress(list) 的结果将会:
['awef', new Object(), 'fgte']

它是快速而清晰的解决方案吗?

最佳答案

简洁实用的 FTW

List compress(Iterable iterable) => concat(flatten(iterable));

Iterable flatten(Iterable iterable) =>
iterable.expand((e) => e is Iterable ? flatten(e) : [e]);

List concat(Iterable iterable) => iterable.fold([], (list, e) =>
list..add((e is String && list.isNotEmpty && list.last is String)
? list.removeLast() + e : e));

关于list - 如何组合嵌套列表中的所有字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21811498/

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