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);});
如果您需要支持IEconcat
甚至不需要,arr.map(a=>Math.max(…a))
就足够了。return arr.map(函数(a){return Math.max.apply(Math,a);})如果需要更好地支持IE,请使用Math.max
而不是sort
。更好的方法是使用Math.max
而不是sort
。