【发布时间】:2017-03-19 05:50:15
【问题描述】:
我正在处理的练习题:
编写一个名为“findShortestWordAmongMixedElements”的函数。
给定
array,findShortestWordAmongMixedElements返回给定数组中最短的字符串。注意事项:
* 如果有平局,它应该返回出现在给定数组中的第一个元素。
* 期望给定的数组具有字符串以外的值。
* 如果给定数组为空,则应返回空字符串。
* 如果给定数组不包含字符串,则应返回空字符串。
这是我目前编写的代码:
function findShortestWordAmongMixedElements(array) {
if (array.length === 0)) {
return '';
}
var result = array.filter(function (value) {
return typeof value === 'string';
});
var shortest = result.reduce(function (a, b) {
return a.length <= b.length ? a : b;
});
return shortest;
}
var newArr = [ 4, 'two','one', 2, 'three'];
findShortestWordAmongMixedElements(newArr);
//returns 'two'
一切正常,但我不知道如何通过“如果给定数组不包含字符串”测试。我正在考虑在if 语句中添加某种!array.includes(string??),但不知道如何去做。
有什么提示吗?甚至更聪明的方法来编写这个函数
【问题讨论】:
标签: javascript arrays string