歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
我們分別定義了一個數組對象和一個JSON對象,通過instanceof 來判斷類型。
1)數組的屬性
數組中我們最常用的屬性就是length了,它表示的這個數組的長度。注意這個屬性不是隻讀的,它是可以修改的
比如:
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
我們分別定義了一個數組對象和一個JSON對象,通過instanceof 來判斷類型。
1)數組的屬性
數組中我們最常用的屬性就是length了,它表示的這個數組的長度。注意這個屬性不是隻讀的,它是可以修改的
比如:
可以看出來,我們如果設置數組的長度小於數組本身的長度的時候,會在數組的尾部刪除掉相對應的元素。
所以,一般來說,我們清空數組的方式有兩種:
- arr = [];
- arr.length = 0 ;
所以有時候,我們看到別人的源碼中有寫到arr.length=0其實就是將數組清空的意思。
數組索引的妙用
我們知道,數組在創建以後,每一個元素會對應有一個索引,這個索引值就是從0開始的。座次遞增。所以我說:數組的索引默認就是一個排序好的一列數據。
再思考一下,我們是不是可以通過數組的索引來做快速排序???
答案是可以的,我們來看下效果
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
我們分別定義了一個數組對象和一個JSON對象,通過instanceof 來判斷類型。
1)數組的屬性
數組中我們最常用的屬性就是length了,它表示的這個數組的長度。注意這個屬性不是隻讀的,它是可以修改的
比如:
可以看出來,我們如果設置數組的長度小於數組本身的長度的時候,會在數組的尾部刪除掉相對應的元素。
所以,一般來說,我們清空數組的方式有兩種:
- arr = [];
- arr.length = 0 ;
所以有時候,我們看到別人的源碼中有寫到arr.length=0其實就是將數組清空的意思。
數組索引的妙用
我們知道,數組在創建以後,每一個元素會對應有一個索引,這個索引值就是從0開始的。座次遞增。所以我說:數組的索引默認就是一個排序好的一列數據。
再思考一下,我們是不是可以通過數組的索引來做快速排序???
答案是可以的,我們來看下效果
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
我們分別定義了一個數組對象和一個JSON對象,通過instanceof 來判斷類型。
1)數組的屬性
數組中我們最常用的屬性就是length了,它表示的這個數組的長度。注意這個屬性不是隻讀的,它是可以修改的
比如:
可以看出來,我們如果設置數組的長度小於數組本身的長度的時候,會在數組的尾部刪除掉相對應的元素。
所以,一般來說,我們清空數組的方式有兩種:
- arr = [];
- arr.length = 0 ;
所以有時候,我們看到別人的源碼中有寫到arr.length=0其實就是將數組清空的意思。
數組索引的妙用
我們知道,數組在創建以後,每一個元素會對應有一個索引,這個索引值就是從0開始的。座次遞增。所以我說:數組的索引默認就是一個排序好的一列數據。
再思考一下,我們是不是可以通過數組的索引來做快速排序???
答案是可以的,我們來看下效果
原理很簡單,我們將要排序的數據當成是數組的索引並賦值為1,那麼這時候其實排序已經做好,接下來我們就是再次去提取數組的索引了。
值得注意的是:因為我們排序的數據不是連續的,所以我們要過濾掉那些數組不為1的項即可。
ES6中數組的新特性
1、includes 查找數組中是否存在某一項
比如:
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
我們分別定義了一個數組對象和一個JSON對象,通過instanceof 來判斷類型。
1)數組的屬性
數組中我們最常用的屬性就是length了,它表示的這個數組的長度。注意這個屬性不是隻讀的,它是可以修改的
比如:
可以看出來,我們如果設置數組的長度小於數組本身的長度的時候,會在數組的尾部刪除掉相對應的元素。
所以,一般來說,我們清空數組的方式有兩種:
- arr = [];
- arr.length = 0 ;
所以有時候,我們看到別人的源碼中有寫到arr.length=0其實就是將數組清空的意思。
數組索引的妙用
我們知道,數組在創建以後,每一個元素會對應有一個索引,這個索引值就是從0開始的。座次遞增。所以我說:數組的索引默認就是一個排序好的一列數據。
再思考一下,我們是不是可以通過數組的索引來做快速排序???
答案是可以的,我們來看下效果
原理很簡單,我們將要排序的數據當成是數組的索引並賦值為1,那麼這時候其實排序已經做好,接下來我們就是再次去提取數組的索引了。
值得注意的是:因為我們排序的數據不是連續的,所以我們要過濾掉那些數組不為1的項即可。
ES6中數組的新特性
1、includes 查找數組中是否存在某一項
比如:
這個我們從字面上理解就行了。
2、Array.from
Array.from()方法就是將一個類數組對象或者可遍歷對象轉換成一個真正的數組。比如我們可以將特殊的JSON對象轉成數組。
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
我們分別定義了一個數組對象和一個JSON對象,通過instanceof 來判斷類型。
1)數組的屬性
數組中我們最常用的屬性就是length了,它表示的這個數組的長度。注意這個屬性不是隻讀的,它是可以修改的
比如:
可以看出來,我們如果設置數組的長度小於數組本身的長度的時候,會在數組的尾部刪除掉相對應的元素。
所以,一般來說,我們清空數組的方式有兩種:
- arr = [];
- arr.length = 0 ;
所以有時候,我們看到別人的源碼中有寫到arr.length=0其實就是將數組清空的意思。
數組索引的妙用
我們知道,數組在創建以後,每一個元素會對應有一個索引,這個索引值就是從0開始的。座次遞增。所以我說:數組的索引默認就是一個排序好的一列數據。
再思考一下,我們是不是可以通過數組的索引來做快速排序???
答案是可以的,我們來看下效果
原理很簡單,我們將要排序的數據當成是數組的索引並賦值為1,那麼這時候其實排序已經做好,接下來我們就是再次去提取數組的索引了。
值得注意的是:因為我們排序的數據不是連續的,所以我們要過濾掉那些數組不為1的項即可。
ES6中數組的新特性
1、includes 查找數組中是否存在某一項
比如:
這個我們從字面上理解就行了。
2、Array.from
Array.from()方法就是將一個類數組對象或者可遍歷對象轉換成一個真正的數組。比如我們可以將特殊的JSON對象轉成數組。
這個json對象的key值是作為數組的索引,同時length屬性是必須的,表示我們轉換後的數組的長度,不可缺。
歡迎來到我的JS從入門到放棄專題系列文章,更多精彩內容持續更新中,歡迎關注 :)
上一章節我們說到了JS數組的基礎特性和它的高級用法。這一小節我們繼續深入,一起探討數組這種數據結構在真實項目中的實戰。
本章目標
- 數組的reduce方法
- 如何判斷一個對象是的類型是否為數組
- 數組索引的妙用
- ES6中數組的新特性
reduce方法
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始合併,最終為一個值。
一想到合併,我們想到最適用的場景就是數組的累加求和了。
先來看簡單的用法。
同理,我們可以把一個字符串類型的數組快速拆成字符串。比如:
值得注意的是:這個reduce方法我們可以傳入第二個參數,用來做累加的初始值。比如這樣
我定義了一個初始值為10,然後讓數組的每一項在這個10的基礎上進行累加,結果返回20
如何判斷一個對象是的類型是否為數組
我們知道,我們可以通過var arr = new Array()來創建一個數組,也就是說,我們Array是一個類,或者我們可以理解為JS內部是這樣定義數組的
function Array(){}
也就是說,它是基於面向對象的,所以我們可以使用 instanceof 來判斷一個對象是否是數組類型。比如這樣:
我們分別定義了一個數組對象和一個JSON對象,通過instanceof 來判斷類型。
1)數組的屬性
數組中我們最常用的屬性就是length了,它表示的這個數組的長度。注意這個屬性不是隻讀的,它是可以修改的
比如:
可以看出來,我們如果設置數組的長度小於數組本身的長度的時候,會在數組的尾部刪除掉相對應的元素。
所以,一般來說,我們清空數組的方式有兩種:
- arr = [];
- arr.length = 0 ;
所以有時候,我們看到別人的源碼中有寫到arr.length=0其實就是將數組清空的意思。
數組索引的妙用
我們知道,數組在創建以後,每一個元素會對應有一個索引,這個索引值就是從0開始的。座次遞增。所以我說:數組的索引默認就是一個排序好的一列數據。
再思考一下,我們是不是可以通過數組的索引來做快速排序???
答案是可以的,我們來看下效果
原理很簡單,我們將要排序的數據當成是數組的索引並賦值為1,那麼這時候其實排序已經做好,接下來我們就是再次去提取數組的索引了。
值得注意的是:因為我們排序的數據不是連續的,所以我們要過濾掉那些數組不為1的項即可。
ES6中數組的新特性
1、includes 查找數組中是否存在某一項
比如:
這個我們從字面上理解就行了。
2、Array.from
Array.from()方法就是將一個類數組對象或者可遍歷對象轉換成一個真正的數組。比如我們可以將特殊的JSON對象轉成數組。
這個json對象的key值是作為數組的索引,同時length屬性是必須的,表示我們轉換後的數組的長度,不可缺。
我們通過document.querySelectorAll()來獲取的dom元素集合,它返回的是一個偽數組,它的特點是具有數組的length屬性,也可以通過for循環遍歷每一項。
但是:它不具備數組的基本方法,比如:push,pop等。我們可以通過Array.from轉成真正的數組。上面的示例我是通過instanceof 來判斷偽數組和數組的判斷方式。
這裡插播一點:我們將偽數組轉成真正的數組還有一種方法,那就是:
var arr = [...document.querySelectorAll('.item')];
其原理就是通過ES6的...擴展運算符將偽數組依次展開,然後再裝載到[]空數組中,到過轉換效果。
總結:
1、數組中的方法的基礎使用。
2、利用數組索引默認就是從小到大的特點可以對數組快速排序。
3、偽數組如何快速轉換成真正的數組。
這裡是【暢哥聊技術】JS從入門到不放棄相關技術文章,更多精彩內容持續更新中,敬請期待。
未完待續。。。