Javascript 来自子阵列的最大值

Javascript 来自子阵列的最大值,javascript,arrays,max,min,Javascript,Arrays,Max,Min,我想从array1数组中的子数组中获取最大值 var array1 = [[4, 2, 7, 1], [20, 70, 40, 90], [1, 2, 0]]; let one = array1.slice(0,1); let two = array1.slice(1,2); let three = array1.slice(2,3); console.log(one); console.log(two); console.log(three); 结果我: > Array [Ar

我想从array1数组中的子数组中获取最大值

var array1 = [[4, 2, 7, 1], [20, 70, 40, 90], [1, 2, 0]];

let one = array1.slice(0,1);
let two = array1.slice(1,2);
let three = array1.slice(2,3);

console.log(one);

console.log(two);

console.log(three);
结果我:

> Array [Array [4, 2, 7, 1]]
> Array [Array [20, 70, 40, 90]]
> Array [Array [1, 2, 0]]
然后我尝试从一个、两个和三个变量中获取最大值,但始终是一个错误[NaN]

console.log(Math.max(...one)); => Nan

我在JS方面不是很好,所以如果有任何帮助,我将非常感激。谢谢

您可以尝试使用
map
函数,并为每个子数组调用
Math.max
,它将为子数组返回单个值

const array1=[[4,2,7,1],[20,70,40,90],[1,2,0];
const maxValues=array1.map(item=>Math.max(…item));

console.log(最大值)
您可以尝试使用
map
函数,并为每个子数组调用
Math.max
,该调用将为子数组返回单个值

const array1=[[4,2,7,1],[20,70,40,90],[1,2,0];
const maxValues=array1.map(item=>Math.max(…item));
console.log(最大值)
console.log(Math.max(…一));=>楠

由于
slice
从输入数组返回数组(即
one
2d数组),因此需要获取第0个索引

let one = array1.slice(0,1)[0];
同样地

let two = array1.slice(1,2)[0];
let three = array1.slice(2,3)[0];
现在
console.log(Math.max(…one))将为您提供正确的值

要从所有阵列获取最大值,请尝试

console.log(Math.max(...one,...two,...three)); //spread with comma
用于获取单个数组

console.log(array1.map( s => Math.max.apply(null, s)); 
console.log(Math.max(…一));=>楠

由于
slice
从输入数组返回数组(即
one
2d数组),因此需要获取第0个索引

let one = array1.slice(0,1)[0];
同样地

let two = array1.slice(1,2)[0];
let three = array1.slice(2,3)[0];
现在
console.log(Math.max(…one))将为您提供正确的值

要从所有阵列获取最大值,请尝试

console.log(Math.max(...one,...two,...three)); //spread with comma
用于获取单个数组

console.log(array1.map( s => Math.max.apply(null, s)); 

如果需要第一个子数组,只需使用
let one=array1[0]
.slice(0,1)
仍将创建一个数组,其中第一个子数组作为子数组。因此
Math.max(…one)
相当于
Math.max([4,2,7,1])
,这是不正确的。如果需要第一个子数组,只需使用
let one=array1[0]
.slice(0,1)
仍将创建一个数组,其中第一个子数组作为子数组。因此
Math.max(…one)
相当于
Math.max([4,2,7,1])
,这是不正确的。