gpt4 book ai didi

javascript - 使用 Math.max 创建一个数组,使用传递给函数的最长长度的数组?

转载 作者:行者123 更新时间:2023-12-03 06:34:49 25 4
gpt4 key购买 nike

我正在尝试构建一个新数组,其长度等于传递给函数的最长数组。可以有无限数量的数组传递给函数,这就是我尝试使用 Math.max 的原因。

我用循环来解决这个问题...:

function sumInternalValues() {
let arrays = Array.from(arguments);
let longest = 0;

arrays.forEach(arr => {
longest = (arr.length > longest) ? arr.length : longest;
})

let newArr = new Array(longest);
//... do other things but for sake of this question, return here now
return newArr.length;
}

let arr1 = [1, 2, 3, 4];
let arr2 = [5, 6, 7, 8, 9, 10];

console.log(sumInternalValues(arr1, arr2));

但是我怎样才能让 Math.max 来使用它呢?

function sumInternalValues() {
let newArr = new Array(Math.max.apply(Math, arguments.length?));
}
<小时/>

注意:我将根据 guidelines here 回答我自己的问题。我花了相当多的时间试图得到这个,但没有找到太多支持。

最佳答案

您可以通过使用 array.from() 将参数捕获为数组来完成此操作,然后映射结果数组以获得长度。然后应用该数组到Math.max函数:

function sumInternalValues() {
let args = Array.from(arguments);
let newArr = new Array(Math.max.apply(Math, args.map(a => a.length)));
// ... do some other things, but for the sake of this question, return here
return newArr.length
}

let arr1 = [1, 2, 3, 4];
let arr2 = [5, 6, 7, 8, 9, 10];

console.log(sumInternalValues(arr1, arr2));

关于javascript - 使用 Math.max 创建一个数组,使用传递给函数的最长长度的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38275860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com