簡體   English   中英

如何在javascript中獲取數組中的最后一個鍵?

[英]How to get last key in array in javascript?

這類似於這個問題,只有PHP-> javascript

如何在PHP中獲取新推送項的數字鍵?

var foo = myarray[myarray.length - 1];

首選術語是元素,而不是鍵。

編輯:或者你的意思是最后一個索引? 那是myarray.length - 1 請記住,JavaScript數組只能以數字方式編制索引(盡管數組也是對象,這會導致一些混淆)。

如果它是一個扁平數組 ,這將做:

return array.length - 1;

但是,如果你有一個關聯數組 ,你必須知道密鑰並循環它。 請注意,雖然JavaScript不知道“關聯數組”,因為JavaScript中的大多數元素都是對象。

免責聲明:在JavaScript中使用關聯數組通常不是一個好習慣 ,可能會導致問題。

var x = new Array();
x['key'] = "value";
for (i in x)
{
    if (i == 'key')
    {
        alert ("we got "+i);
    }
}

數組的最后一個鍵總是arr.length-1因為數組總是以鍵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

首先抱歉英語不好。 假設您的數組是“鍵關聯數組”,其數字格式為字符串鍵。 你將需要3步:獲取所有數組鍵。 將數組鍵轉換為整數。 獲取最大值或長度或任何其他鍵屬性。

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 

希望我幫忙

Math.max(...[...myArray.keys()]);

這里myArray是數組的名稱。

這是一個基於您提到的問題的解決方案。 假設數組是單維數組或所有數組鍵都是數字。

讀取: Math.maxArray.prototype.keys()迭代器和生成器

如果你的數組是一個關聯數組( Object ),我認為最好的方法是使用Object.keys()

來自MDN ;

Object.keys()方法以與普通循環相同的順序返回給定對象自己的屬性名稱的數組。

首先在數組中獲取數組的鍵。
然后獲取最后一個密鑰,並在Object中使用它。

var keys = Object.keys(my_array);
var last = keys[keys.length - 1];
console.log(my_array[last]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM