JavaScript在数组中查找最大整数 函数最大四(arr){ var newArray=[]; 对于(var i=0;i
它不会像那样工作。JavaScript在数组中查找最大整数 函数最大四(arr){ var newArray=[]; 对于(var i=0;i,javascript,Javascript,它不会像那样工作。Math.max需要单独的数字。您可以使用apply function largestOfFour(arr) { var newArray = []; for(var i =0; i <=arr.length-1; i++){ console.log(arr[i]); newArray[i] = Math.max(arr[i]); } console.log(newArray);
Math.max
需要单独的数字。您可以使用apply
function largestOfFour(arr) {
var newArray = [];
for(var i =0; i <=arr.length-1; i++){
console.log(arr[i]);
newArray[i] = Math.max(arr[i]);
}
console.log(newArray);
// You can do this!
return newArray;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
它不会那样工作。
Math.max
需要单独的数字。您可以使用apply
function largestOfFour(arr) {
var newArray = [];
for(var i =0; i <=arr.length-1; i++){
console.log(arr[i]);
newArray[i] = Math.max(arr[i]);
}
console.log(newArray);
// You can do this!
return newArray;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
您正在将一个数组传递给
Math.max
,并期望它返回该数组中的最大值
但是,Math.max
返回其参数中的最大值。因此使用
function largestOfFour(arr) {
return arr.map(function(subArr){
return Math.max.apply(Math, subArr);
});
}
您正在将一个数组传递给
Math.max
,并期望它返回该数组中的最大值
但是,Math.max
返回其参数中的最大值。因此使用
function largestOfFour(arr) {
return arr.map(function(subArr){
return Math.max.apply(Math, subArr);
});
}
如果你想达到极限,就这么做吧
arr.map(a => Math.max(...a));
或者,如果你想要一个数组的最大值,就这样做吧
var original = [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]];
Math.max.apply(null, original.map(function(arr) { return Math.max.apply(null, arr); }));
如果你想达到极限,就这么做吧
arr.map(a => Math.max(...a));
或者,如果你想要一个数组的最大值,就这样做吧
var original = [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]];
Math.max.apply(null, original.map(function(arr) { return Math.max.apply(null, arr); }));
编辑:
为了向数组添加值,我建议使用push方法n。如中所示:
NewArray.push(Math.max(…sub[i]);或NewArray.push(Math.max.apply(null,sub[i])。
另一种方法是,在声明数组时,声明数组的大小:
Var newArray=新数组(arr.length);
javascript中有一个新的排列运算符(…)!编辑:
为了向数组添加值,我建议使用push方法n。如中所示:
NewArray.push(Math.max(…sub[i]);或NewArray.push(Math.max.apply(null,sub[i])。
另一种方法是,在声明数组时,声明数组的大小:
Var newArray=新数组(arr.length);
javascript中有一个新的扩展运算符(…),它使用lodash!
original.map(function(arr) { return Math.max.apply(null, arr); });
使用lodash
original.map(function(arr) { return Math.max.apply(null, arr); });
是否要查找数组中的最大值?是的,因此我试图完成的是遍历每个子数组并查找其中的最大整数,然后将最大整数传递到一个单独的数组中。因此,函数返回一个数组,其中4个整数每个整数是主数组中4个子数组的最大整数。可能的重复你想在数组中找到最大的吗?是的,所以我试图完成的是遍历每个子数组,找到其中的最大整数,并将最大整数传递到一个单独的数组中。因此,函数返回一个数组,其中4个整数,每个整数是主数组中4个子数组的最大整数。可能的重复可能重复的类别,所以这实际上在所有数组中返回一个最大值,这不是OP的意图。但可以是单独的任务,所以这实际上在所有数组中返回一个最大值,这不是OP的意图。但可以是单独的任务酷!您的解决方案可以工作,但是在我使用它之前,我想知道空0对我意味着什么n math.max.apply()?@AliAslam它是函数中用作
此
值的值。因为math.max
不使用它,所以没关系。或者只是newArray=arr.map(math.max.apply.bind(math.max,math))
:)酷!你的解决方案可以工作,但是在我使用它之前,我想知道空0在math.max.apply()中的意思是什么?@AliAslam它是函数中用作这个值的值。因为math.max
不使用它,所以没关系。或者只是newArray=arr.map(math.max.apply.bind(math.max,math))
:)Math.max([1,2,3])
找不到max aomng数组元素。它返回NaN
。是的!事实上,我做了更好的研究,Math.max只接受数字,不接受数组。如果你传递sub[i],你将得到NaN。我建议使用newarray.push(null,Math.max.apply(sub[i]),没有扩展运算符(。
)在广泛使用的javascript中,即在浏览器中。如其他答案所述,这是ES6Math的一个功能。max([1,2,3])
找不到max aomng数组元素。它返回NaN
。是的!事实上,我做了更好的研究,Math.max只接受数字,而不接受数组。如果你通过sub[i]您将拥有NaN。我建议使用newarray.push(null,math.max.apply(sub[I])在广泛可用的javascript中,即在浏览器中,没有扩展运算符(…
)。正如其他答案中所述,它是ES6的一个功能