在数组的数组中查找最大值
Finding Largest Values in Array of Arrays
我试图返回arr
与每个数组中最大的元素,但我收到一个错误消息。谢谢。
function largestOfFour(arr) {
for (var i = 0; i<arr.length; i++) {
return Math.max.apply(Math, arr[i]);
}
}
largestOfFour([1,2,4],[23,22,0])
TypeError: Function.prototype.apply的第二个参数必须是一个数组
使用map
函数
array.map(function(array) {
return Math.max.apply(Math, array)
})
目前,您正在向largestOfFour
发送两个参数,但您应该只发送一个,每个索引处都有一个数组。
largestOfFour([[1,2,4],[23,22,0]])
为了得到你想要的返回结果。
function largestOfFour(arr) {
var returnArray = []
for (var i = 0; i<arr.length; i++) {
returnArray.push(Math.max.apply(Math, arr[i]));
}
return returnArray;
}
你传递给函数的不是数组的数组——你传递给它的是两个数组。:)
试试这个:
largestOfFour([[1,2,4],[23,22,0]])
^ ^
此外,定义的largestfour在第一次运行时返回最大值——实际上,返回数组的数组中第一个数组的最大值。
要这样做,您可以保存每次的最大值,然后返回该最大值。
或者利用join()对嵌套数组的明显扁平化,这样做:
Math.max.apply(null, a.join().split(','))
相关文章:
- 在Javascript数组中查找绝对最大值
- 按最大值获取数组索引
- 从 JavaScript 中的数组中获取最大值和最小值
- 使用函数从数组中查找最小值和最大值
- 如何在JavaScript中从数组中获取最大值
- 在JavaScript多维数组中查找每个x值的最大值
- 从一个值数组中获取多个最大值
- 如何获取数组中包含最大值的两个对象
- 返回数组中最大值的索引
- 如何找到最大值并从数组中返回它
- 数组中的最大值(值是数组对象中的属性)
- 在多维数组 JavaScript 或 coffeescript 中获取最大值
- 在稀疏 JavaScript 数组中查找最大值
- 在带有对象的数组中查找最小值、最大值
- 如何确定 JSON 对象数组中特定字段的最大值
- 返回数组中最大值的索引
- JavaScript 多维数组中的最大值
- 使用 jQuery 获取数组中具有属性最大值的元素
- 使用 JavaScript 函数在数组中查找最大值
- 我的算法中查找数组最大元素的缺陷在哪里