关于数组添加值和访问值的一些小问题
今天来看看关于数组方面的一些小问题,可能对你会有一些小小的帮助,当然如果我有说错的地方也欢迎指教,毕竟我也是一个菜鸟。
arr["bbb"]="nor 1";
arr[-2]="nor 2";
console.log(arr); >> [1, 2, 3, bbb: "nor 1", -2: "nor 2"]
console.log(arr.bbb) >> "nor 1"</pre>
如果我们想往数组里面添加一个值,以[]的形式添加,如果写的是负数或者字符串那么它是在数组的末尾添加,并且它是以键值对的形式添加的,所以下次访问这个值的时候可以使用点的形式访问,但是如果是数字必须通过[]访问。
arr["bbb"]="nor 1";
console.log(arr); [1, 2, 3, bbb: "nor 1"]
console.log(arr[3]) undefined</pre>
如果通过字符串或者负数往数组里面添加一个值,那么下次访问的时候也必须通过键值对形式访问
arr["bbb"]="nor 1";
arr[-2]=222;
arr.push(4);
console.log(arr); >> [1, 2, 3, 4, bbb: "nor 1"]
console.log(arr.length); >> 4</pre>
值得注意的是通过字符串或者负数添加的值,那个数组是不会添加它的长度的,并且使用这种方式来添加的永远会在数组的最后面,因为我们使用push方法添加数字4的时候我们发现它并没有把是添加到最后后面,大家都知道push方法的将值添加到数组的末尾的。也许我们可以得出一个结论那就是数字和数字排列,键值对与键值对排列。
更新数组小问题。
num.push(4,3,5); >>返回值是添加的最后那个数也就是数字5
num.reverse(); >>数组倒序排列,不是按照大小,是反过来
console.log(num) >>[5, 3, 4]</pre>
num[5,"a",0]="111"; >>["111"] 如果末尾写的是0或者数组长度加1那么和正常情况一样。
console.log(num);</pre>
num[5,"a",6]="111";
console.log(num); >>[6: "111"]</pre>
后面的会把前面的覆盖,最后一位写的索引不能大于数组长度+1,否则不管你写的是不是数字都是通过键值对的方式添加,如果是负数也是一样的。
a[10] = 10;
console.log(a); >>[10: 10]
console.log(a.length); >>11
console.log(a[0]); >>undefined
console.log(a[10]); >>10</pre>
如果数组的长度是0或者没有你要添加的那个索引那么长,那么js会把之前的值全部设置成undefined,并且用键值对的形式添加的。