默認情況下,每個javascript數組的索引從0開始。我想創建一個索引從1開始的數組。我知道,必須非常平凡...... thnx爲你的幫助如何創建一個數組,其索引從1開始
回答
這不是微不足道的。不可能。你可以做的最好的事情是使用從1開始的數字屬性創建一個對象,但這不是一回事。
爲什麼你想要它從1開始?或者:
從0開始,根據需要調整您的指數;或
從0開始,只是忽略索引0(即只使用索引1和以上)。
一個簡單的解決方案是,以填補零項目:
var map = [null, 'January', 'February', 'March'];
'First month : ' + map[1];
語義倒不如使用對象:
var map = {1:'January', 2:'February', 3:'March'};
'First month : ' + map[1];
可悲的是,我們不能使用點符號。
MDN - Property Accessors
我會選擇前者的解決方案,我認爲這是減少混亂。
簡單,只需對經典的Javascript for
循環做兩處更改即可。
var Array = ['a', 'b', 'c'];
for (var i = 1; i <= Array.length; i++) {
//"i" starts at 1 and ends
//after it equals "length"
console.log(i);
}
由於這個問題還彈出一個谷歌搜索,如「1 JavaScript的開始陣列」我會給出不同的答案:
陣列可切片。所以,你可以得到陣列的這樣的切片版本:
var someArray = [0, 1, 2, 3];
someArray.slice(1);
[1, 2, 3]
someArray.slice(2, 4);
[2, 3]
來源:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
首先添加此功能,您的JavaScript代碼:
var oneArray = function(theArray)
{
theArray.splice(0,0,null);
return theArray
}
現在這樣使用它:
var myArray= oneArray(['My', 'name', 'is', 'Ram']);
alert(myArray[1]); << this line show you: My
這不適用於許多數組方法。例如,'Array.from(myArray.keys())'返回'[0,1,2,3,4]'而不是'[1,2,3,4,5]'。 – 2016-11-13 12:49:28
@Gothdo,我想你錯了!因爲這個結果>>'[0,1,2,3,4]'對於@detj(提問者)沒有任何意想不到的值。當n> = 1時,他只需要[([0,1,2,3,4])[n]'。所以這個數組總是對他有正確的結果。 – RAM 2016-11-14 10:27:30
- 1. 創建JSON數組索引開始1
- 2. PLPGSQL數組索引從1開始?
- 3. 如何更改數組索引從1開始?
- 4. will_paginate從1開始下一個頁面數與索引
- 5. CGPoint數組中的索引從i + 1開始?
- 6. 如何獲得第二個請求從數組索引開始與jQuery開始?
- 7. 瞭解數組:索引從0開始
- 8. Javascript:創建一個數組,其索引是另一個數組的值
- 9. each_with_index_do從1開始的索引
- 10. jquery - 從1開始的索引元素?
- 11. 從最後一個元素開始獲取數組的索引
- 12. 爲什麼sqlite3_bind_ *從索引1開始,但sqlite3_column_ *從0開始?
- 13. 如何從0開始陣列時,索引從1
- 14. 如何創建一個起始索引爲1(而不是0)的ArrayList
- 15. 在開始索引的數組中搜索一個對象
- 16. 從頭開始創建數組列表
- 17. 如何創建一個UDF找到索引數組列
- 18. Perl數據結構:如何從一個數組創建一個數組引用
- 19. 如何更新ko.observableArray中從零開始的索引數組
- 20. 如何從特定索引開始迭代數組?
- 21. 如何從swift開始到數組範圍的索引結束?
- 22. 創建一個數組,其中每個元素存儲其索引
- 23. 如何使字符串索引從1開始
- 24. PHP創建表1個陣列通過數組索引操作
- 25. 創建從另一個數組,並找到索引Matlab的
- 26. php排序多維數組,但開始索引在1
- 27. 構建一個全文搜索引擎:從哪裏開始
- 28. 從零開始創建一個LinkedList類
- 29. 創建索引圖兩個數組
- 30. 從某個索引開始的最小數字的索引
爲什麼你想這樣做?我問,因爲當你發現自己試圖繞過編程語言的一個最基本的特徵時,勝算是好的,有更好的方法來做你想做的事情。 – Syntactic 2010-05-13 12:28:27
此外,從0開始的數組索引是一個功能,而不是一個錯誤。 – Robusto 2010-05-13 12:31:56