找出数组中最短的字符串

问题描述:

如何在具有不同数组元素数的 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);