Tôi có một mảng đa chiều của các cột X và các hàng y. Làm thế nào tôi có thể tìm thấy giá trị tối đa và tối đa của ma trận? Thí dụ:
[[1, 37.8, 80.8, 41.8],
[2, 30.9, 69.5, 32.4],
[3, 25.4, 57, 25.7],
[4, 11.7, 18.8, 10.5],
[5, 11.9, 17.6, 10.4],
[6, 8.8, 13.6, 7.7],
[7, 7.6, 12.3, 9.6],
[8, 12.3, 29.2, 10.6],
[9, 16.9, 42.9, 14.8],
[10, 12.8, 30.9, 11.6],
[11, 5.3, 7.9, 4.7],
[12, 6.6, 8.4, 5.2],
[13, 4.8, 6.3, 3.6],
[14, 4.2, 6.2, 3.4]]
- JavaScript
- Mảng
- multidimensional-array
Pani
1.2791 Huy hiệu vàng13 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge13 silver badges20 bronze badges
Khi được hỏi ngày 6 tháng 9 năm 2016 lúc 7:03Sep 6, 2016 at 7:03
Provolaprovolaprovola
3021 Huy hiệu vàng3 Huy hiệu bạc13 Huy hiệu đồng1 gold badge3 silver badges13 bronze badges
4
Cho thấy rằng mảng đa chiều khi bắt đầu
Ngày 6 tháng 9 năm 2016 lúc 7:04
Đặt toàn bộ mã, mà bạn đã thử, nếu bạn chưa thử, không ai ở đó để làm việc cho bạn.
Ngày 6 tháng 9 năm 2016 lúc 7:08
Vui lòng chia sẻ ví dụ chính xác của mảng đa chiều. Đây không phải là một mảng đa chiều thích hợp
Ngày 6 tháng 9 năm 2016 lúc 7:15
10 câu trả lời
để cho
var arr = [[2,3], [4,5]]; // a multidimensional array
sau đó nhận một mảng với tối đa của mỗi hàng với
var maxRow = arr.map[function[row]{ return Math.max.apply[Math, row]; }];
và tối đa quá mức với
var max = Math.max.apply[null, maxRow];
Đã trả lời ngày 6 tháng 9 năm 2016 lúc 7:25Sep 6, 2016 at 7:25
PanipaniPani
1.2791 Huy hiệu vàng13 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge13 silver badges20 bronze badges
1
Khi được hỏi ngày 6 tháng 9 năm 2016 lúc 7:03
Provolaprovola
3021 Huy hiệu vàng3 Huy hiệu bạc13 Huy hiệu đồng
function getMax[a]{
return Math.max[...a.map[e => Array.isArray[e] ? getMax[e] : e]];
}
var arr = [[1, 37.8, 80.8, 41.8],
[2, 30.9, 69.5, 32.4],
[3, 25.4, 57, 25.7],
[4, 11.7, 18.8, 10.5],
[5, 11.9, 17.6, 10.4],
[6, 8.8, 13.6, 7.7],
[7, 7.6, 12.3, 9.6],
[8, 12.3, 29.2, 10.6],
[9, 16.9, 42.9, 14.8],
[10, 12.8, 30.9, 11.6],
[11, 5.3, 7.9, 4.7],
[12, 6.6, 8.4, 5.2],
[13, 4.8, 6.3, 3.6],
[14, 4.2, 6.2, 3.4]];
console.log[getMax[arr]];
Cho thấy rằng mảng đa chiều khi bắt đầu
function getMax[a]{
return Math.max[...a.map[e => Array.isArray[e] ? getMax[e] : e]];
}
var arr = [[1, 37.8, 80.8, 41.8],
[2, 30.9, 69.5, 32.4],
[3, 25.4, 57, 25.7],
[4, 11.7, 18.8, 10.5],
[5, 11.9, 17.6, 10.4],
[6, 8.8, 13.6, 7.7],
[7, 7.6, 12.3, 9.6],
[8, 12.3, 29.2, 10.6],
[9, 16.9, 42.9, 14.8],
[10, 12.8, 30.9, 11.6],
[11, 5.3, [6.1,[56.7,[98.55]]], 4.7],
[12, 6.6, 8.4, 5.2],
[13, 4.8, 6.3, 3.6],
[14, 4.2, 6.2, 3.4]];
console.log[getMax[arr]];
Ngày 6 tháng 9 năm 2016 lúc 7:04Sep 6, 2016 at 8:12
Đặt toàn bộ mã, mà bạn đã thử, nếu bạn chưa thử, không ai ở đó để làm việc cho bạn.Redu
Ngày 6 tháng 9 năm 2016 lúc 7:086 gold badges52 silver badges69 bronze badges
Vui lòng chia sẻ ví dụ chính xác của mảng đa chiều. Đây không phải là một mảng đa chiều thích hợp
var arr = [[1, 5,6], [4, 7,8], [3, 8,20], [2, 3,1],[12, 4,5]];
console.log[Math.max.apply[Math, arr.map[function [i] {
return i[0]+i[1]+i[2];
}]]];
Ngày 6 tháng 9 năm 2016 lúc 7:15
10 câu trả lờiSep 6, 2016 at 7:16
để choUmair Malik
sau đó nhận một mảng với tối đa của mỗi hàng với3 gold badges28 silver badges53 bronze badges
1
và tối đa quá mức với
Đã trả lời ngày 6 tháng 9 năm 2016 lúc 7:25
Panipani
Làm thế nào bạn có được tối đa của mỗi cột hoặc của các cột 2-5?
// returns maximum of an array
const getArrayMax = array => array.reduce[[a, b] => Math.max[a, b]];
// returns maximum of a 2D array
const getArrayMax2d = array2d => getArrayMax[array2d.map[getArrayMax]];
Ngày 5 tháng 10 năm 2020 lúc 3:54Feb 5, 2018 at 9:50
Bất kể kích thước của mảng, tôi tin rằng đây là cách để có được tối đa của tất cả các nguyên thủy liên quan.Rafi
Nó sẽ hoạt động trên các mảng với kích thước không xác định.12 silver badges20 bronze badges
1
Đã trả lời ngày 6 tháng 9 năm 2016 lúc 8:12
Phân phối lại
23.6K6 Huy hiệu vàng52 Huy hiệu bạc69 Huy hiệu Đồng
const arr = [[12,45,75], [54,45,2],[23,54,75,2]];
const max = Math.max[...[].concat[...arr]];
const min = Math.min[...[].concat[...arr]];
console.log[max];
console.log[min];
Bạn có thể nhận được giá trị tối đa của mảng đa chiều bằng phương pháp sau:Nov 27, 2019 at 20:36
Trước tiên, nó sử dụng mảng.map [] để chuyển đổi mảng đa chiều thành một mảng phẳng và sau đó sử dụng math.max [].DankMasterDan
Đã trả lời ngày 6 tháng 9 năm 2016 lúc 7:161 gold badge21 silver badges32 bronze badges
0
Umair Malikumair Malik
1.3233 huy hiệu vàng28 Huy hiệu bạc53 Huy hiệu đồng
var maxRow = arr.map[function[row]{ return Math.max.apply[Math, row]; }];
1const arr = [[1, 37.8, 80.8, 41.8],
[2, 30.9, 69.5, 32.4],
[3, 25.4, 57, 25.7],
[4, 11.7, 18.8, 10.5],
[5, 11.9, 17.6, 10.4],
[6, 8.8, 13.6, 7.7],
[7, 7.6, 12.3, 9.6],
[8, 12.3, 29.2, 10.6],
[9, 16.9, 42.9, 14.8],
[10, 12.8, 30.9, 11.6],
[11, 5.3, 7.9, 4.7],
[12, 6.6, 8.4, 5.2],
[13, 4.8, 6.3, 3.6],
[14, 4.2, 6.2, 3.4]];
Math.max[...arr.flat[]]
Bất kỳ lý do để bỏ phiếu trả lời này?Sep 16, 2021 at 17:58
Ngày 6 tháng 9 năm 2016 lúc 7:19Vikram Deshmukh
Hầu hết các câu trả lời ở đây sử dụng
4 hoặc toán tử lây lan var arr = [[2,3], [4,5]]; // a multidimensional array
5 để gọi hàm var arr = [[2,3], [4,5]]; // a multidimensional array
6 với tất cả các phần tử của một mảng là tham số.3 gold badges33 silver badges37 bronze badgesvar arr = [[2,3], [4,5]]; // a multidimensional array
Đối với các mảng lớn sẽ an toàn hơn khi sử dụng
var arr = [[2,3], [4,5]]; // a multidimensional array
7:var arr = [[2,3], [4,5]]; // a multidimensional array
0Đã trả lời ngày 5 tháng 2 năm 2018 lúc 9:50
RafirafiSep 6, 2016 at 7:19
73712 Huy hiệu bạc20 Huy hiệu ĐồngRomanPerekhrest
Bạn có thể làm
8 thay vì var arr = [[2,3], [4,5]]; // a multidimensional array
94 gold badges53 silver badges95 bronze badgesvar arr = [[2,3], [4,5]]; // a multidimensional array
Ngày 22 tháng 2 năm 2018 lúc 15:51
var arr = [[2,3], [4,5]]; // a multidimensional array
1Đã trả lời ngày 6 tháng 9 năm 2016 lúc 7:25Sep 6, 2016 at 7:25
PanipaniOlli K
Làm thế nào bạn có được tối đa của mỗi cột hoặc của các cột 2-5?1 gold badge16 silver badges15 bronze badges
Ngày 5 tháng 10 năm 2020 lúc 3:54
var arr = [[2,3], [4,5]]; // a multidimensional array
2Bất kể kích thước của mảng, tôi tin rằng đây là cách để có được tối đa của tất cả các nguyên thủy liên quan.
Nó sẽ hoạt động trên các mảng với kích thước không xác định.Sep 16, 2021 at 7:28
Đã trả lời ngày 6 tháng 9 năm 2016 lúc 8:12
var arr = [[2,3], [4,5]]; // a multidimensional array
3Phân phối lạiMay 26 at 14:13
23.6K6 Huy hiệu vàng52 Huy hiệu bạc69 Huy hiệu ĐồngTyron
Bạn có thể nhận được giá trị tối đa của mảng đa chiều bằng phương pháp sau:1 gold badge2 silver badges10 bronze badges