總結(jié):
凡是根據(jù)數(shù)據(jù)生成動態(tài)結(jié)構(gòu),都遵守一個原則: 要動態(tài),先靜態(tài)
在js中,轉(zhuǎn)換bool值為false的有: '' "" 0 undefined null NaN
NaN不能與任意值進行比較,比較的結(jié)果都是false
變量的使用:先聲明 ,賦值,使用
循環(huán)三要素:變量初始值 判斷條件 變量的變化(要素可以寫在其它位置,但是for中的;不能少)
凡是要獲取數(shù)組的每一個元素,都是循環(huán)遍歷
函數(shù):
函數(shù)返回多個值的時候,要將值包裝為對象
如果在函數(shù)中使用reutrn直接返回多個值,最終只有最后一個值
return只能返回一個變量,所以我們一般對多個進行包裝,如果沒有特別意外,都包裝為對象
拓展一:filter方法的使用
使用場景:兩個重點使用場景: 查詢 刪除(以后用filter,不再用for)
filter語法:
filter方法會返回一個新數(shù)組
數(shù)組.filter(回調(diào)函數(shù))
數(shù)組.filter(function(元素值,索引){})
建議:如果是遍歷數(shù)據(jù):兩個參數(shù)名稱一般就是value index
如果是遍歷元素,兩個參數(shù)的名稱一般就是ele index
執(zhí)行順序:
1.它會從頭到尾遍歷指定的數(shù)組(用哪個數(shù)組調(diào)用這個方法,就會遍歷這個數(shù)組)
2.每次遍歷給回調(diào)函數(shù)傳入當前遍歷到的數(shù)組元素
3.執(zhí)行回調(diào)函數(shù),如果回調(diào)函數(shù)的返回結(jié)果為true,就將當前遍歷到的元素存儲到filter內(nèi)部所創(chuàng)建的數(shù)組中
4.最終將內(nèi)部數(shù)組返回
通過案例——刪除數(shù)組中所有的偶數(shù),來學習filter
// 刪除數(shù)組中所有的偶數(shù)
let arr = [12, 457, 44, 5, 12, 9, 8, 11, 68]
// 刪除偶數(shù)的本質(zhì) 是 保留奇數(shù)
let temp = arr.filter(function(value, index) {
return value % 2 != 0
})
console.log(temp)
拓展二:數(shù)組-forEach
forEach的作用:單純的遍歷
語法:arr.forEach(function(value,index){})
從頭到尾遍歷指定的數(shù)組,每次遍歷給回調(diào)函數(shù)傳入一個參數(shù),調(diào)用回調(diào)函數(shù)