在呕越祝客上看到這樣一題先壕,題目描述:在一個(gè)二維數(shù)組中(每個(gè)一維數(shù)組的長(zhǎng)度相同),每一行都按照從左到右遞增的順序排序谆甜,每一列都按照從上到下遞增的順序排序垃僚。請(qǐng)完成一個(gè)函數(shù),輸入這樣的一個(gè)二維數(shù)組和一個(gè)整數(shù)店印,判斷數(shù)組中是否含有該整數(shù)冈在。一個(gè)簡(jiǎn)單的數(shù)組遍歷題。
function Find(target, array)
{
let result = false
array.map(v => {
v.length ? v.map(w => {
w === target ? result = true : ''
}) : v === target ? result = true : ''
})
return result
}
提交完答案后按摘,發(fā)現(xiàn)了一個(gè)神奇的評(píng)論
function Find(target, array)
{
return array.some(arr => arr.some(e => e === target))
}
這里小記一下some以及類似的every包券,對(duì)比一下其他遍歷方法
some() 有一個(gè)元素滿足條件,即返回true
const a = [1, 2, 3]
console.log(a.some(v => v > 5)) // false
console.log(a.some(v => v < 2)) // true
every() 所有元素滿足條件炫贤,即返回true
const a = [1, 2, 3]
console.log(a.every(v => v < 5)) // true
console.log(a.every(v => v < 2)) // false
filter() 返回包含滿足條件元素的數(shù)組
const a = [1, 2, 3]
console.log(a.filter(v => v < 3)) // [1, 2]
map() 返回一個(gè)新數(shù)組
const a = [1, 2, 3]
console.log(a.map(v => v + 5)) // [6, 7, 8]
forEach() 僅循環(huán)溅固,無(wú)返回值,本質(zhì)上相當(dāng)于for
const a = [1, 2, 3]
a.forEach(v => console.log(v)) // 1 2 3