Hướng dẫn find max value in multidimensional array javascript - tìm giá trị tối đa trong javascript mảng đa chiều

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

Hướng dẫn find max value in multidimensional array javascript - tìm giá trị tối đa trong javascript mảng đa chiều

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

Hướng dẫn find max value in multidimensional array javascript - tìm giá trị tối đa trong javascript mảng đa chiều

để 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); });
1

const 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

Hướng dẫn find max value in multidimensional array javascript - tìm giá trị tối đa trong javascript mảng đa chiều

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

var arr = [[2,3], [4,5]]; // a multidimensional array
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 badges

Đố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

Hướng dẫn find max value in multidimensional array javascript - tìm giá trị tối đa trong javascript mảng đa chiều

73712 Huy hiệu bạc20 Huy hiệu ĐồngRomanPerekhrest

Bạn có thể làm

var arr = [[2,3], [4,5]]; // a multidimensional array
8 thay vì
var arr = [[2,3], [4,5]]; // a multidimensional array
94 gold badges53 silver badges95 bronze badges

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
2

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.

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

Hướng dẫn find max value in multidimensional array javascript - tìm giá trị tối đa trong javascript mảng đa chiều

Đã 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
3

Phâ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