Hướng dẫn get max length array javascript - lấy mảng javascript có độ dài tối đa

Nếu tôi có mảng sau:

array = ['a', 'abcde', 'ab'] ;

Tôi muốn có được độ dài tối đa của các phần tử mảng IE 5 (đối với phần tử 'ABCDE').

Tôi biết rằng bạn có thể nhận được độ dài của một phần tử mảng thông qua mảng (ví dụ) [1] .length nhưng tôi không biết làm thế nào để có được độ dài tối đa.

Bất kỳ câu trả lời nào trong JavaScript hoặc jQuery sẽ rất tuyệt.

Tia

Paul Jones

Hướng dẫn get max length array javascript - lấy mảng javascript có độ dài tối đa

Andy e

332K84 Huy hiệu vàng470 Huy hiệu bạc442 Huy hiệu Đồng84 gold badges470 silver badges442 bronze badges

Khi được hỏi ngày 18 tháng 5 năm 2011 lúc 10:49May 18, 2011 at 10:49

1

One-liner cho bạn:

 Math.max.apply(Math, $.map(array, function (el) { return el.length }));

Ví dụ làm việc: http://jsfiddle.net/5sdbx/

Bạn có thể làm điều đó mà không cần jQuery trong các trình duyệt mới hơn (hoặc thậm chí các trình duyệt cũ hơn với việc triển khai khả năng tương thích của

 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
2) cũng vậy:

Math.max.apply(Math, array.map(function (el) { return el.length }));

Đã trả lời ngày 18 tháng 5 năm 2011 lúc 10:55May 18, 2011 at 10:55

Andy Eandy eAndy E

332K84 Huy hiệu vàng470 Huy hiệu bạc442 Huy hiệu Đồng84 gold badges470 silver badges442 bronze badges

4

Khi được hỏi ngày 18 tháng 5 năm 2011 lúc 10:49

Math.max(...array.map(el => el.length));

One-liner cho bạn:Apr 9, 2017 at 9:12

Ví dụ làm việc: http://jsfiddle.net/5sdbx/

var myarray = ['a','abcde','ab'];
var maxlen = 0;
for (i=0; i<myarray.length; i++) {
  if (myarray[i].length>maxlen) {
    maxlen = myarray[i].length;
  }
}

Bạn có thể làm điều đó mà không cần jQuery trong các trình duyệt mới hơn (hoặc thậm chí các trình duyệt cũ hơn với việc triển khai khả năng tương thích của

 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
2) cũng vậy:May 18, 2011 at 10:53

Hướng dẫn get max length array javascript - lấy mảng javascript có độ dài tối đa

Đã trả lời ngày 18 tháng 5 năm 2011 lúc 10:55James

Andy Eandy e1 gold badge16 silver badges19 bronze badges

3

Một câu trả lời mới cho một câu hỏi cũ: Trong ES6, bạn có thể làm thậm chí ngắn hơn:

['a', 'abcde', 'ab'].reduce((r,s) => r.length > s.length ? r : s, 0);

Đã trả lời ngày 9 tháng 4 năm 2017 lúc 9:12May 8, 2019 at 17:23

Một cách (có thể là rác) để làm điều đó, mà không cần sử dụng jQuery:Manvel

Đã trả lời ngày 18 tháng 5 năm 2011 lúc 10:537 silver badges9 bronze badges

Jamesjames

12.4K1 Huy hiệu vàng16 Huy hiệu bạc19 Huy hiệu đồng

Trong những trường hợp như vậy, có một chức năng rất hữu ích. Mảng.Reduce

var maxLength = 0;

for (var i = 0, length = array.length; i < length; i++) {
   maxLength = Math.max(maxLength, array[i].length);
};

Đã trả lời ngày 8 tháng 5 năm 2019 lúc 17:23May 18, 2011 at 10:52

Hướng dẫn get max length array javascript - lấy mảng javascript có độ dài tối đa

Manvelmanvelalex

7207 Huy hiệu bạc9 Huy hiệu Đồng197 gold badges869 silver badges977 bronze badges

1

Bạn có thể sử dụng

 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
3 của JQuery để lặp lại đẹp hơn một chút.

var maxLength = 0;

$.each(array, function(i, item) {
   maxLength = Math.max(maxLength, item.length);
});

function arrayItemMax(arr) {
    return arr.reduce(function (result, val) {
        return Math.max(result, !isNaN(val) ? parseInt(val) : val.length);
    }, 0);
}

function print(text) {
  document.getElementsByTagName('body')[0].innerHTML += text + '<br />';
}

print(arrayItemMax(['a', 'abcde', 'ab'])); // 5
print(arrayItemMax([1, 5, 2]));            // 5
print(arrayItemMax(['1', '5', '2']));      // 5

Hoặc JavaScript đơn giản ...

function(a){return a.reduce(function(r,v){return Math.max(r,!isNaN(v)?parseInt(v):v.length);},0);}

Đã trả lời ngày 18 tháng 5 năm 2011 lúc 10:52Feb 20, 2015 at 17:35

AlexalexMr. Polywhirl

470K197 Huy hiệu vàng869 Huy hiệu bạc977 Huy hiệu Đồng12 gold badges81 silver badges127 bronze badges

Bằng cách sử dụng

 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
4, bạn có thể thực hiện tính toán
 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
5 cho mỗi mục trong mảng. Không quan trọng liệu các mục trong mảng là chuỗi hay mảng con (mảng 2D, ma trận, v.v.), điều này sẽ hoạt động vì
 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
6 và
 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
7 đều có chức năng
 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
8.

Tôi cũng đã thêm một séc cho các giá trị số nguyên theo nhận xét của bạn ở trên.

Lót:

Đã trả lời ngày 18 tháng 5 năm 2011 lúc 10:55May 18, 2011 at 10:55

Andy Eandy e

 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
0

Một câu trả lời mới cho một câu hỏi cũ: Trong ES6, bạn có thể làm thậm chí ngắn hơn:

 Math.max.apply(Math, $.map(array, function (el) { return el.length }));
1

Đã trả lời ngày 9 tháng 4 năm 2017 lúc 9:12Nov 7, 2012 at 9:21

Hướng dẫn get max length array javascript - lấy mảng javascript có độ dài tối đa

Một cách (có thể là rác) để làm điều đó, mà không cần sử dụng jQuery:avalkab

Đã trả lời ngày 18 tháng 5 năm 2011 lúc 10:533 silver badges18 bronze badges

Kích thước mảng tối đa trong JavaScript là gì?

Các mảng JavaScript là dựa trên 0 và sử dụng các chỉ mục 32 bit: Chỉ số của phần tử đầu tiên là 0 và chỉ số cao nhất có thể là 4294967294 (232−2), với kích thước mảng tối đa là 4.294.967.295 phần tử.32−2), for a maximum array size of 4,294,967,295 elements.

Bạn có thể sử dụng .length trên một mảng không?

Phương thức độ dài () trả về số lượng ký tự có trong chuỗi.1. Biến độ dài được áp dụng cho một mảng nhưng không dành cho các đối tượng chuỗi trong khi phương thức độ dài () được áp dụng cho các đối tượng chuỗi nhưng không phải cho mảng.The length variable is applicable to an array but not for string objects whereas the length() method is applicable for string objects but not for arrays.

Độ dài của mảng này là bao nhiêu?

Về cơ bản, chiều dài của một mảng là tổng số phần tử được chứa bởi tất cả các kích thước của mảng đó.Giá trị thuộc tính: Thuộc tính này trả về tổng số phần tử trong tất cả các kích thước của mảng.Nó cũng có thể trả về 0 nếu không có phần tử trong mảng.the total number of the elements which is contained by all the dimensions of that array. Property Value: This property returns the total number of elements in all the dimensions of the Array. It can also return zero if there are no elements in the array.