var foo = myarray[myarray.length - 1];
Thuật ngữ ưa thích là phần tử, thay vì khóa.
Chỉnh sửa: Hoặc bạn có nghĩa là chỉ số cuối cùng? Đó là myarray.length - 1
. Hãy nhớ rằng, các mảng JavaScript chỉ có thể được lập chỉ mục bằng số [mặc dù các mảng cũng là đối tượng, gây ra một số nhầm lẫn].
Đã trả lời ngày 4 tháng 2 năm 2010 lúc 11:00Feb 4, 2010 at 11:00
Matthew Flaschenmatthew FlaschenMatthew Flaschen
Phù bằng vàng 271k50510 Huy hiệu bạc537 Huy hiệu đồng50 gold badges510 silver badges537 bronze badges
1
Nếu đó là một mảng phẳng, điều này sẽ làm:flat array, this would do:
return array.length - 1;
Tuy nhiên, nếu bạn có một mảng kết hợp, bạn sẽ phải biết chìa khóa và lặp qua nó. Xin lưu ý rằng JavaScript không biết gì như "mảng kết hợp", vì hầu hết các yếu tố trong JavaScript là đối tượng.associative array, you'd have to know the key and loop through it. Please note though that JavaScript knows no such thing as an "associative array", as most elements in JavaScript are objects.
Tuyên bố miễn trừ trách nhiệm: Việc sử dụng các mảng kết hợp trong JavaScript nói chung không phải là một thực tiễn tốt và có thể dẫn đến các vấn đề. Usage of associative arrays in JavaScript is generally not a good practice and can lead to problems.
var x = new Array[];
x['key'] = "value";
for [i in x]
{
if [i == 'key']
{
alert ["we got "+i];
}
}
Đã trả lời ngày 4 tháng 2 năm 2010 lúc 11:01Feb 4, 2010 at 11:01
Aron Rotteveelaron RotteveelAron Rotteveel
79.1K17 Huy hiệu vàng104 Huy hiệu bạc128 Huy hiệu đồng17 gold badges104 silver badges128 bronze badges
4
Tôi giả sử mảng của bạn là một "mảng liên kết" với các phím chuỗi ở định dạng số. Bạn sẽ cần phải làm điều đó trong 3 bước:
- Nhận tất cả các phím mảng.
- Chuyển đổi các phím mảng thành một số nguyên.
- Nhận tối đa hoặc độ dài hoặc bất kỳ thuộc tính Keys nào khác.
stringKeys = Object.keys[keyValueArray]; // Get keys of array
integerKeys = stringKeys.map[Number]; // Convert to integer
mx = Math.max.apply[integerKeys]; // Get max
len = stringKeys.length; // Get length
Hy vọng tôi đã giúp
Đã trả lời ngày 23 tháng 4 năm 2016 lúc 9:03Apr 23, 2016 at 9:03
1
Khóa cuối cùng của một mảng luôn là arr.length-1
vì các mảng luôn bắt đầu bằng khóa 0
:
var arr = new Array[3]; // arr === [], arr.length === 3
arr.push[0]; // arr === [undefined, undefined, undefined, 0], arr.length === 4
arr[arr.length-1] // returns 0
var arr = []; // arr === [], arr.length === 0
arr[3] = 0; // arr === [undefined, undefined, undefined, 0], arr.length === 4
arr[arr.length-1] // returns 0
Đã trả lời ngày 4 tháng 2 năm 2010 lúc 11:01Feb 4, 2010 at 11:01
Aron Rotteveelaron RotteveelGumbo
79.1K17 Huy hiệu vàng104 Huy hiệu bạc128 Huy hiệu đồng106 gold badges768 silver badges838 bronze badges
Tôi giả sử mảng của bạn là một "mảng liên kết" với các phím chuỗi ở định dạng số. Bạn sẽ cần phải làm điều đó trong 3 bước:
Nhận tất cả các phím mảng.
Chuyển đổi các phím mảng thành một số nguyên.
Nhận tối đa hoặc độ dài hoặc bất kỳ thuộc tính Keys nào khác.
Then get the last key, and use it in the Object.
var keys = Object.keys[my_array];
var last = keys[keys.length - 1];
console.log[my_array[last]];
Hy vọng tôi đã giúpFeb 12, 2019 at 14:40
Đã trả lời ngày 23 tháng 4 năm 2016 lúc 9:03ssten
Khóa cuối cùng của một mảng luôn là arr.length-1
vì các mảng luôn bắt đầu bằng khóa 0
:1 gold badge14 silver badges27 bronze badges
Math.max[...[...myArray.keys[]]];
Gumbogumbo
628K106 Huy hiệu vàng768 Huy hiệu bạc838 Huy hiệu Đồng
Nếu mảng của bạn là một mảng liên kết [đối tượng], tôi nghĩ rằng cách tốt nhất để làm điều này là sử dụng
return array.length - 1;
0.Từ MDN;Jan 25, 2017 at 21:23