當前位置:成語大全網 - 新華字典 - js遍歷數組some()方法

js遍歷數組some()方法

題目描述:在壹個二維數組中(每個壹維數組的長度相同),每壹行都按照從左到右遞增的順序排序,每壹列都按照從上到下遞增的順序排序。請完成壹個函數,輸入這樣的壹個二維數組和壹個整數,判斷數組中是否含有該整數。壹個簡單的數組遍歷題。

答案:js語言:

functionFind(target, array){returnarray.some(arr => arr.some(e => e === target))}

解釋:

外面的some方法是對每個壹維進行遍歷,裏面的some方法是對每個壹維的每壹個元素進行遍歷,判斷是否嚴格等於要找的target元素,復雜度為n方。

?=>是es6語法中的arrow function

例:(x) => x + 6 相當於

function(x){

return x + 6;

};

那麽e => e === target表示返回嚴格等於target的元素e

some()方法用於檢測數組中的元素是否滿足指定條件

some() 方法會依次執行數組的每個元素:

如果有壹個元素滿足條件,則表達式返回 true ?, 剩余的元素不會再執行檢測。

如果沒有滿足條件的元素,則返回false。

註意: ?some() 不會對空數組進行檢測。

註意: ?some() 不會改變原始數組。

這裏小記壹下some以及類似的every,對比壹下其他遍歷方法

some() 有壹個元素滿足條件,即返回true

const a = [1, 2, 3]console.log(a.some(v => v > 5))? //falseconsole.log(a.some(v => v < 2))? //true

every() 所有元素滿足條件,即返回true

const a = [1, 2, 3]console.log(a.every(v => v < 5))? //trueconsole.log(a.every(v => v < 2))? //false

filter() 返回包含滿足條件元素的數組

const a = [1, 2, 3]

console.log(a.filter(v => v < 3))? // [1, 2]

map() 返回壹個新數組

const a = [1, 2, 3]

console.log(a.map(v => v + 5))? // [6, 7, 8]

forEach() 僅循環,無返回值,本質上相當於for

const a = [1, 2, 3]

a.forEach(v => console.log(v))? // 1 2 3