最近开始在freeCodeCamp上学习,对JavaScript的算法部分的题目进行记录,强化一下自己的知识点,也方便以后复习。
假定大数组中包含了n个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组.
我们可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素。
得到数组中的最大值我们可以使用Math.max方法,但因为Math.max(param1,param2) 参数不支持数组,我们可以使用Math.max.apply(null,array)来轻易得到数组中最大的一项。在调用apply的时候第一个参数给了一个null,是因为没有对象去调用这个方法,我们只需要用这个方法帮我们运算,得到返回的结果就行
代码如下:
function largestOfArr(arr){
var newArr=[];
for(var i=0;i<arr.length;i++){
newArr.push(Math.max.apply(Math,arr[i]));
}
return newArr;
}
largestOfArr([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);