2019-05-16
描述
传入任意数目的可迭代对象或包含 length
属性的对象,返回其中最长的一个对象。如过多个对象有同样的长度,则返回前面的一个。如果没有对象传入的话,则返回 undefined
。
提示
- 使用
Array.prototype.reduce()
比较对象的length
- 返回
length
最长的对象
代码
const longestItem = (...vals) => vals.reduce((a, x) => (x.length > a.length ? x : a));
示例
获取最长的对象:
longestItem('this', 'is', 'a', 'testcase'); // 'testcase'
longestItem(...['a', 'ab', 'abc']); // 'abc'
longestItem(...['a', 'ab', 'abc'], 'abcd'); // 'abcd'
longestItem([1, 2, 3], [1, 2], [1, 2, 3, 4, 5]); // [1, 2, 3, 4, 5]
longestItem([1, 2, 3], 'foobar'); // 'foobar'