今天來看看關於數組方面的一些小問題,可能對你會有一些小小的幫助,當然如果我有說錯的地方也歡迎指教,畢竟我也是一個菜鳥。
1.
1 // var arr = [1,2,3]; 2 // arr["bbb"]="nor 1"; 3 // arr[-2]="nor 2"; 4 // console.log(arr); >> [1, 2, 3, bbb: "nor 1", -2: "nor 2"] 5 // console.log(arr.bbb) >> "nor 1"
如果我們想往數組里面添加一個值,以[]的形式添加,如果寫的是負數或者字符串那么它是在數組的末尾添加,並且它是以鍵值對的形式添加的,所以下次訪問這個值的時候可以使用點的形式訪問,但是如果是數字必須通過[]訪問。
2.
1 // var arr = [1,2,3]; 2 // arr["bbb"]="nor 1"; 3 // console.log(arr); [1, 2, 3, bbb: "nor 1"] 4 // console.log(arr[3]) undefined
如果通過字符串或者負數往數組里面添加一個值,那么下次訪問的時候也必須通過鍵值對形式訪問
3.
1 // var arr = [1,2,3]; 2 // arr["bbb"]="nor 1"; 3 // arr[-2]=222; 4 // arr.push(4); 5 // console.log(arr); >> [1, 2, 3, 4, bbb: "nor 1"] 6 // console.log(arr.length); >> 4
// 值得注意的是通過字符串或者負數添加的值,那個數組是不會添加它的長度的,並且使用這種方式來添加的永遠會在數組的最后面,因為我們使用push方法添加數字4的時候我們發現它並沒有把是添加到最后后面,大家都知道push方法的將值添加到數組的末尾的。也許我們可以得出一個結論那就是數字和數字排列,鍵值對與鍵值對排列。
更新數組小問題。
1 // var num = []; 2 // num.push(4,3,5); >>返回值是添加的最后那個數也就是數字5 3 // num.reverse(); >>數組倒序排列,不是按照大小,是反過來 4 // console.log(num) >>[5, 3, 4]
1 var num = [];
2 num[5,"a",0]="111"; >>["111"] 如果末尾寫的是0或者數組長度加1那么和正常情況一樣。
3 console.log(num);
1 var num = [];
2 num[5,"a",6]="111";
3 console.log(num); >>[6: "111"]
// 后面的會把前面的覆蓋,最后一位寫的索引不能大於數組長度+1,否則不管你寫的是不是數字都是通過鍵值對的方式添加,如果是負數也是一樣的。
1 // var a = []; 2 // a[10] = 10; 3 // console.log(a); >>[10: 10] 4 // console.log(a.length); >>11 5 // console.log(a[0]); >>undefined 6 // console.log(a[10]); >>10
// 如果數組的長度是0或者沒有你要添加的那個索引那么長,那么js會把之前的值全部設置成undefined,並且用鍵值對的形式添加的。