【发布时间】:2016-11-11 13:34:54
【问题描述】:
我正在尝试构建一个长度等于传递给函数的最长数组的新数组。可以有无限数量的数组传递给函数,这就是我尝试使用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 回答我自己的问题。我花了相当多的时间试图得到这个,但没有在 SO 上找到太多支持。
【问题讨论】:
标签: javascript arrays ecmascript-6