今天來看看關於陣列方面的一些小問題,可能對你會有一些小小的幫助,當然如果我有說錯的地方也歡迎指教,畢竟我也是乙個菜鳥。
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); >>返回值是新增的最後那個數也就是數字53//
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); >>115//
console.log(a[0]); >>undefined6//
console.log(a[10]); >>10
// 如果陣列的長度是0或者沒有你要新增的那個索引那麼長,那麼js會把之前的值全部設定成undefined,並且用鍵值對的形式新增的。
陣列的一些小知識
陣列 陣列就是一種容器,儲存一組型別相同的資料。陣列可以儲存基本資料型別與引用資料型別。陣列初始化格式格式 動態初始化 1 一步完成 資料型別 變數名稱 new 資料型別 長度 2 分步完成 資料型別 變數名稱 null 變數名稱 new 資料型別 長度 靜態初始化 1 資料型別 變數名稱 new ...
關於定位和z index的一些小經歷
今天在工作過程中,遇到這麼乙個奇葩問題,搞了好一陣子才找到原因,遂總結了一下.先上demo div style width 800px height 400px div style width 380px height 400px float left div id a1 style positio...
關於編譯的一些小知識
gnu編譯器 g 編譯 c 程式 在windows下,進入源 所在的路徑下,在命令列中輸入 g o test.exe test.cpp將test.cpp 編譯生成 test.exe 可執行檔案,如果沒有 o test.exe 選項,預設生成 a.exe 在linux下,進入源 所在的路徑下,在命令列...