我正在尝试展平输入中的数组数组,并返回最长的字符串。
例如给定输入:
i = ['big',[0,1,2,3,4],'tiny']
该函数应返回'tiny'。我想使用reduce或concat以本机和优雅的方式解决这个问题(没有在 array 中实现 flatten 原型),但我在这段代码中失败了:
function longestStr(i)
{
// It will be an array like (['big',[0,1,2,3,4],'tiny'])
// and the function should return the longest string in the array
// This should flatten an array of arrays
var r = i.reduce(function(a, b)
{
return a.concat(b);
});
// This should fetch the longest in the flattened array
return r.reduce(function (a, b)
{
return a.length > b.length ? a : b;
});
}