JAVAScript高級(jí)進(jìn)階課程中ES6內(nèi)容 給我們編程帶來(lái)了很多便利,以前用大量代碼實(shí)現(xiàn)的功能現(xiàn)在變得非常簡(jiǎn)潔,總結(jié)了工作中經(jīng)常使用的 5個(gè) JavaScript 技巧,希望對(duì)你也有幫助。
(1)、找出數(shù)組中的最大值或最小值
const array = [ 1, 10, -19, 2, 7, 100 ]
console.log('max value', Math.max(...array))
// 100
console.log('min value', Math.min(...array))
// -19
(2)、計(jì)算數(shù)組的總和
如果有一個(gè)數(shù)字?jǐn)?shù)組,得到它們總和的最快方法是什么?
const array = [ 1, 10, -19, 2, 7, 100 ]
const sum = array.reduce((sum, num) => sum + num)
// 101
(3)、展平多層數(shù)組
解決方法 1
const array = [ 1, [ 2, [ 3, [ 4, [ 5 ] ] ] ] ]
const flattenArray = (array) => {
return array.reduce((res, it) => {
return res.concat(Array.isArray(it) ? flattenArray(it) : it)
}, [])}
console.log(flattenArray(array)) // [1, 2, 3, 4, 5]
解決方法 2
const array = [ 1, [ 2, [ 3, [ 4, [ 5 ] ] ] ] ]
console.log(array.flat(Infinity)) // [1, 2, 3, 4, 5]
(4)、檢查數(shù)組是否包含值
當(dāng)我們遇到對(duì)象數(shù)組時(shí)判斷數(shù)據(jù)是否符合預(yù)期可以使用ES6 findIndex 方法
const array = [
{ name: '張無(wú)忌' },
{ name: '趙敏' },
{ name: '高圓圓' }
]
const index = array.findIndex((it) => it.name === '張無(wú)忌')
// 0
(5)、使用“includes”方法進(jìn)行判斷
你一定見(jiàn)過(guò)這樣的判斷方法,雖然,可以達(dá)到條件判斷的目的,但是不怎么優(yōu)雅。
const value = '0'
if (value === '0' || value === '1' || value === '2') {
console.log('hello 源碼')
// hello 源碼
}
includes方法讓代碼更簡(jiǎn)單甚至更可擴(kuò)展
const man = '0'
const woman = '1'
const unknow = '2'
const conditions = [ man , woman , unknow ]
const value = '0'
if (conditions.includes(value)) {
console.log('hello源碼')
// hello 源碼
}