Javascript 如何返回不同的数组?

Javascript 如何返回不同的数组?,javascript,Javascript,我需要返回一个数组,该数组由每个提供的子数组中的最大数组成。因此,我编写了以下代码,它可以工作,但我有: [[25],[48],[21],-3]]而不是[25,48,21,-3]。我可以改变一些东西来得到正确的答案吗 函数最大四(arr){ for(设i=0;ia.sort((a,b)=>b-a)[0]); } log(最大的四个([[17,23,25,12],[25,7,34,48],[4,10,18,21],-72,3,17,10])您可以映射降序排序元素中的第一个元素 函数最大四(数组

我需要返回一个数组,该数组由每个提供的子数组中的最大数组成。因此,我编写了以下代码,它可以工作,但我有:
[[25],[48],[21],-3]]
而不是
[25,48,21,-3]
。我可以改变一些东西来得到正确的答案吗

函数最大四(arr){
for(设i=0;i控制台日志(结果)您可以对其使用展开函数

var arr1 = [1, 2, [3, 4]];
    arr1.flat(); 
    // [1, 2, 3, 4]

    var arr2 = [1, 2, [3, 4, [5, 6]]];
    arr2.flat();
    // [1, 2, 3, 4, [5, 6]]

    var arr3 = [1, 2, [3, 4, [5, 6]]];
    arr3.flat(2);
    // [1, 2, 3, 4, 5, 6]

你可以使用平面函数

var arr1 = [1, 2, [3, 4]];
    arr1.flat(); 
    // [1, 2, 3, 4]

    var arr2 = [1, 2, [3, 4, [5, 6]]];
    arr2.flat();
    // [1, 2, 3, 4, [5, 6]]

    var arr3 = [1, 2, [3, 4, [5, 6]]];
    arr3.flat(2);
    // [1, 2, 3, 4, 5, 6]

使用如下索引获取每个数组的第一个字符

function largestOfFour(arr) {
  for (let i = 0; i < arr.length; i++) {

    arr[i].sort(function(a,b) {
      return b - a;

    }).map(function() {
       // HERE
       return arr[i].splice(1)[0];

    })

  }
  return arr;
}

largestOfFour([[17, 23, 25, 12], [25, 7, 34, 48], [4, -10, 18, 21], [-72, -3, -17, -10]]);
函数最大四(arr){
for(设i=0;i
使用如下索引获取每个数组的第一个字符

function largestOfFour(arr) {
  for (let i = 0; i < arr.length; i++) {

    arr[i].sort(function(a,b) {
      return b - a;

    }).map(function() {
       // HERE
       return arr[i].splice(1)[0];

    })

  }
  return arr;
}

largestOfFour([[17, 23, 25, 12], [25, 7, 34, 48], [4, -10, 18, 21], [-72, -3, -17, -10]]);
函数最大四(arr){
for(设i=0;i
您可以使用
map
和扩展语法
..
返回@str指出的1D数组

函数最大四(arr){
返回arr.map(a=>Math.max(…a))
}
常数arr=[[17,23,25,12],[25,7,34,48],[4,-10,18,21],-72,-3,-17,-10]]
常数结果=最大四(arr);

console.log(result)
您可以使用扩展语法
map
返回@str指出的1D数组

函数最大四(arr){
返回arr.map(a=>Math.max(…a))
}
常数arr=[[17,23,25,12],[25,7,34,48],[4,-10,18,21],-72,-3,-17,-10]]
常数结果=最大四(arr);

log(result)
您可以映射降序排序元素的第一个元素

函数最大四(数组){
返回array.map(a=>a.sort((a,b)=>b-a)[0]);
}

log(最大的四个([[17,23,25,12],[25,7,34,48],[4,10,18,21],-72,3,17,10])您可以映射降序排序元素中的第一个元素

函数最大四(数组){
返回array.map(a=>a.sort((a,b)=>b-a)[0]);
}

log(最大的四个([[17,23,25,12],[25,7,34,48],[4,10,18,21],-72,3,17,10])循环和排序,然后使用
映射返回每个子数组的第一个元素

function largestOfFour(arr) {
   for (let i = 0; i < arr.length; i++) {
      arr[i].sort(function(a,b) {
         return b - a;
      });
   }
   return arr.map(array => array[0]);
}

循环并排序,然后使用
映射返回每个子数组的第一个元素

function largestOfFour(arr) {
   for (let i = 0; i < arr.length; i++) {
      arr[i].sort(function(a,b) {
         return b - a;
      });
   }
   return arr.map(array => array[0]);
}

您可以使用
map
返回一个新数组,然后使用
Math.max
从数组中获取最大值

函数最大四(arr){
返回arr.map(项目=>{
返回[Math.max.apply(null,项)]
})
}
控制台日志(最大四个)([
[17, 23, 25, 12],
[25, 7, 34, 48],
[4, -10, 18, 21],
[-72, -3, -17, -10]

]));
您可以使用
map
返回一个新数组,然后使用
Math.max
从数组中获取最大值

函数最大四(arr){
返回arr.map(项目=>{
返回[Math.max.apply(null,项)]
})
}
控制台日志(最大四个)([
[17, 23, 25, 12],
[25, 7, 34, 48],
[4, -10, 18, 21],
[-72, -3, -17, -10]

]));一种方法是你可以使用它!一种方法是你可以做到!最好提及我们答案的来源:注意,IE或EdgeIt中不支持这一点。最好提及我们答案的来源:注意,IE或Edge中不支持这一点
concat
甚至不需要,
arr.map(a=>Math.max(…a))
就足够了。
返回arr.map(函数(a){return Math.max.apply(Math,a);});
如果您需要支持IE
concat
甚至不需要,
arr.map(a=>Math.max(…a))
就足够了。
return arr.map(函数(a){return Math.max.apply(Math,a);})如果需要更好地支持IE,请使用
Math.max
而不是
sort
。更好的方法是使用
Math.max
而不是
sort