数组中最长的元素
接受任意数量的可迭代对象或具有length
属性的对象,并返回最长的对象。
- 使用
Array.prototype.reduce()
,比较对象的长度以找到最长的对象。 - 如果有多个对象具有相同的长度,则返回第一个对象。
- 如果没有提供参数,则返回
undefined
。
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'