找出数组中最短的字符串
问题描述:
如何在具有不同数组元素数的 javascript 数组中找到最短的字符串?我用过
How can i find the shortest string in javascript array with different count of array elements? I used
var min = Math.min(arr[0].length,arr[1].length,arr[2].length);
我的结果是数组的 3 个元素之间的最短字符串.但我不想关心元素的数量
and i have result like shortest string between 3 elements of array. But I don't want to care about numbers of elements
答
使用 Array#map 创建长度数组,然后将其应用到 Math.min()
:
Use Array#map to create an array of lengths, and then apply it to Math.min()
:
var arr = ['cats', 'giants', 'daughters', 'ice'];
var min = Math.min.apply(Math, arr.map(function(str) { return str.length; }));
console.log(min);
或者使用 ES6 的 array spread 和箭头函数:
Or use ES6's array spread and arrow function:
var arr = ['cats', 'giants', 'daughters', 'ice'];
var min = Math.min(...arr.map(({ length }) => length));
console.log(min);