也就是说,如果我使用当前时间作为数组的索引:
array[Date.getTime()] = value;
Run Code Online (Sandbox Code Playgroud)
解释器会实例化从0到现在的所有元素吗?不同的浏览器有不同的做法吗?
我记得曾经是AIX内核中的一个错误,它会根据请求创建伪ttys,但如果你这样做,比如"echo>/dev/pty10000000000"它会创建/ dev/pty0,/ dev/pty1, ......然后摔倒了.在贸易展览会上很有趣,但我不希望这发生在我的客户身上.
C编程语言被称为零索引数组语言.使用可访问数组中的第一项0
.例如double arr[2] = {1.5,2.5}
,数组中的第一项arr
位于位置0. arr[0] === 1.5
哪些编程语言是基于1的索引?
我听说这些语言从1开始而不是0开始用于数组访问:Algol,Matlab,Action !, Pascal,Fortran,Cobol.这完整吗?
具体而言,基于1的阵列将访问具有1的第一项,而不是零.
我知道JavaScript中的数组只不过是一个对象.当我定义这样的数组时:
var array;
array = [ "a", "b", "c" ];
Run Code Online (Sandbox Code Playgroud)
并运行
Object.keys(array);
Run Code Online (Sandbox Code Playgroud)
我得到以下数组:["0", "1", "2"]
.数组长度array
是3
.
当我添加一个属性,如:
array["a"] = "d";
Run Code Online (Sandbox Code Playgroud)
Object.keys()
正在返回["0", "1", "2", "a"]
,但数组长度array
仍然是3
.
但是当我添加这样的属性时:
array["3"] = "d";
Run Code Online (Sandbox Code Playgroud)
array
现在的长度4
.
如果array
只是另一个对象,当我从头开始创建对象时,如何实现这种行为var myArray = {}
?
问题是Object.mappings
有3个元素清楚地打印在控制台中console.log()
,但是当我尝试找到数组的长度时,它返回了0
。我尝试对数组进行字符串化,它仅显示“ []”。
我在这里做错了什么?
我有一个包含子数组的父数组.length
父数组上的属性显示0结果,即使存在子数组也是如此.
这是代码:
var balances = [];
balances['kanav'] = 50;
balances['yash'] = 50;
alert(balances.length);
console.log(balances);
Run Code Online (Sandbox Code Playgroud)
什么原因?