filter:filter方法創建一個新數組,其包含通過所提供函數實現的測試的所有元素。這個
方法不會改變原數組,而是返回一個新的數組。
map:map方法創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數后的
返回值。這個方法同樣不修改原數組,而是構建一個新的數組,每個元素都是原始元素經過
函數處理后的結果。
reduce 方法遍歷數組、將數組元素累計
①reduce接收兩個參數,一個回調函數,一個初始值
②回調函數傳遞了兩個參數,一個是累加值,另一個是當前值
reduce的寫法:
arrays.reduce((a,c,idx)=>{},[])
箭頭函數 如果使用?{}
?包裹函數體,則必須?顯式地用?return
?返回值。
- 箭頭函數的塊形式(使用?
{}
)需要顯式地寫?return
。 - 箭頭函數的簡潔形式(無?
{}
)會自動返回表達式的值。
.join()
?是數組的一個方法,用于將數組中的所有元素拼接成一個字符串。
?參數是一個分隔符,用于指定每個元素之間的連接方式。
模板字符串:用反引號(``
)包裹字符串,并通過?${ }
?插入動態表達式。
.length屬性
:獲取篩選結果的長度,也就是當前商品名稱在數組中出現的次數。
遞歸函數:
遞歸函數的核心思想是:
- 遞歸條件(Recursive Case):函數通過直接或間接調用自身來解決問題的子部分。
- 終止條件(Base Case):遞歸必須有一個終止條件,否則會導致無限循環。
函數遍歷:?
?forEach遍歷
?函數循環:
多條件分支語句:?
①if...else if... else
?三元運算符:?
它可以在一行代碼中完成類似于 if...else
的操作
條件?條件為真的結果:條件為假的結果
let value = 15;
let result =value < 10 ? "小" :value < 20 ? "中" :"大";console.log(result); // 輸出: 中
?偽類選擇器:
用于根據元素的狀態、位置或結構來應用樣式。通過合理使用偽類選擇器,可以輕松實現動態效果和交互式設計。以下是一些常見偽類的分類總結:
類別 | 示例偽類 | 描述 |
---|---|---|
鏈接相關 | :link ,?:visited ,?:hover ,?:active | 定義鏈接的不同狀態 |
動態狀態 | :focus ,?:checked ,?:disabled ,?:enabled | 定義交互狀態 |
結構相關 | :first-child ,?:last-child ,?:nth-child ,?:only-child | 基于元素的位置或結構選擇 |
表單相關 | :required ,?:valid ,?:invalid | 定義表單元素的狀態 |
其他 | :not() ,?:empty ,?:target | 提供額外的選擇能力 |
鏈接偽類:
:hover
- 選擇鼠標懸停在元素上的狀態。
:active
- 選擇正在被激活(如點擊)的元素。
動態偽類:
:focus
- 選擇獲得焦點的元素(如輸入框被選中時)
:checked
- 選擇被選中的單選按鈕(
<input type="radio">
)或復選框(<input type="checkbox">
)。
結構偽類:
:nth-child(n)
- 選擇某個父元素的第?
n
?個子元素(支持公式)。