det*_*etj 19 javascript arrays indexing
默认情况下,每个javascript数组的索引从0开始.我想创建一个索引从1开始的数组.我知道,必须非常简单... thnx for ur help
cle*_*tus 20
这不是微不足道的.不可能.您可以做的最好的事情是使用从1开始的数字属性创建一个对象,但这不是一回事.
你为什么要从1开始呢?或者:
从0开始并根据需要调整索引; 要么
从0开始,只是忽略索引0(即只使用索引1和向上).
由于这个问题也出现在Google搜索中,例如"javascript start array at 1",我会给出不同的答案:
数组可以切片.所以你可以像这样得到一个切片版本的数组:
var someArray = [0, 1, 2, 3];
someArray.slice(1);
[1, 2, 3]
someArray.slice(2, 4);
[2, 3]
Run Code Online (Sandbox Code Playgroud)
资料来源:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
一个简单的解决方案是填充第零项:
var map = [null, 'January', 'February', 'March'];
'First month : ' + map[1];
Run Code Online (Sandbox Code Playgroud)
从语义上讲,使用对象会更好:
var map = {1:'January', 2:'February', 3:'March'};
'First month : ' + map[1];
Run Code Online (Sandbox Code Playgroud)
请注意,这些键实际上不是整数,对象键始终是字符串。
另外,我们不能使用点符号来访问。(MDN-属性访问器)
我会选择第一种解决方案,我认为这种解决方案不太容易混淆。
| 归档时间: |
|
| 查看次数: |
35061 次 |
| 最近记录: |