Javascript 来自子阵列的最大值
我想从array1数组中的子数组中获取最大值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
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])
,这是不正确的。