tft每日頭條

 > 科技

 > js數組自帶函數

js數組自帶函數

科技 更新时间:2024-12-16 13:43:12
寫在前面

小夥伴,大家好,我是迎風望海。以下是我學習web前端、一些筆記心得,分享給大家,喜歡可以多多點贊收藏。帶你入門大前端。如有錯誤歡迎指出。[送心]

1:定義

數組(array)是按次序排序的一組值,每個值都是有編号的、從0開始。

2:本質

數組的本質是一種特殊的對象。

type of arr // object

3: 鍵名

數組的鍵名是按次序排列的一組整數

let arr = ['a','b'] console.log(Object.keys(arr)) // [0,1]

1:數組的鍵名是固定的,不用為每個元素指定鍵名,默認0,1,2

2:js規定鍵名一律為字符串,所以數組的鍵名也是字符串。

3:之所以可以被用數值讀取是 arr[1] 這樣、是因為非字符串的鍵名會被轉化成字符串。

4:與對象不同的是:對象讀取可以用點運算符。數組不行 arr.0 這樣寫不合法。

4:length屬性

1:返回的是數組元素的數量、值等于鍵名 1

2:就算隻有一個元素length的值也不一定是1 而是鍵名 1

3:如果本來數組有很多元素,可以截斷 length = 2.那麼這個數組隻有兩個元素了

4:當修改數組的時候、length屬性會自動更新、length是可寫的

5:in運算符

檢測某個鍵名是否存在、适用于對象同樣适用于數組

let arr = [1,2] 1 in arr // true 2 in arr // false

如果數組的某個元素是空位,返回的也是false

6: 存儲為空時

如果數組對應的索引中沒有存儲數據, 默認存儲的就是undefined,

其它編程語言中默認保存的是垃圾數據或者0

7: 存儲空間不夠時

js中數組存儲空間不足的時候會自動擴容。

其他語言數組的大小是固定的

8:可以存儲不同類型的數據

js中數組可以存儲不同類型的數據、

其他的隻可以存儲相同類型的,(要麼全是字符串、要麼全是數值等)。

數組中的元素還是數組,就形成了多維數組。

9: 存儲空間不一定連續的

js中的數組分配的存儲空間不一定是連續的,如果存儲的是相同的數據,會盡量分配連續的

如果是存儲的不同的數據類型,就不會分配連續的存儲空間。

10: 創建數組的方法有兩種

let arr = [1,2,3]; //[1,2,3] let arr1 = new Array(); 不建議使用

不建議使用new Array 去創建數組,因為參數個數的不同,會導緻Array()的行為有差異

Array() // [] Array(3) // [, , ,] Array(3, 11, 8) // [3, 11, 8]

可以使用Array.of() ,是為了彌補數組構造函數Array的不足,

web前端筆記6中有介紹用法,請關注後續。

11: 判斷是否是數組? Array.isArray

let arr = [1,2,3]; //[1,2,3] console.log(typeof arr) // object console.log(Array.isArray(arr)) // true

12: 數組轉成字符串

(1)toString 、 String 、join

var arr = [1,2,3] console.log(arr.toString()) //1,2,3 console.log(String(arr)) // 1,2,3 console.log(arr.join('-')) // 1-2-3

(2)三者的區别

toString 、join 當數據為null、undefined的時候、會報錯

let s = null console.log(s.toString()) // 報錯 let a = undefined console.log(a.toString()) // 報錯 let s = null console.log(s.join('-')) // 報錯

(3)toString(2) 括号裡可以寫一個數字,代表的是進制轉化

(4)String 轉化null、undefined不會報錯

let s = null console.log(String(s)) // null let a = undefined console.log(String(a)) //undefined

總結: join當沒有參數,就是調用了toString方法,當傳參數的時候,就是分隔符

兩者都不能轉換 null/undefined會報錯。

13:類對象數組

如果一個對象所有的鍵名都是正整數和零,并且有length屬性

看起來很像數組

let obj = { 0:'a', 1:'b', 2:'c', length:3 } obj.push('d') //報錯

js數組自帶函數(web前端筆記3js數組定義)1

上邊代碼輸出的

類對象數組不是真正的數組,所以沒有數組上的一些方法。

1:最基本的特征是length

數組的length屬性是動态的,但是類對象數組是固定的,不會根據數組成員的變化而變化

2:都有哪些類對象數組 arguments DOM元素集

1:arguments function f() { return arguments } let fun = f('a','b') console.log(fun) console.log(fun[0]) // a console.log(fun instanceof Array) // false 2:DOM元素集 var elts = document.getElementsByTagName('h3'); elts.length // 3 elts instanceof Array // false

最後的最後

下一節分享、js數組中一些常用的方法

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved