回覆列表
-
1 # 杭州IT程式設計師亮亮
-
2 # 程式小馬
提問者應該是剛接觸程式設計或者Web領域吧,無論是Javascript還是Java或其他語言,都有很多快速又方便的原生方法,以Javascript為例,它提供了forEach, map等對陣列進行遍歷操作的方法。對於這個問題,通用的方法可以使用ES6中提供的some方法,該方法返回陣列中是否存在至少一個元素滿足提供的判斷方法:
```
const arr = [
[1,2,3,4],
[5,6,7,8]
]
function isExist(arr, num) {
// 二維陣列拆分為一維陣列
return arr.some((item) => {
// 對一維陣列進行遍歷
return item.some(val => val === num)
})
}
console.log(isExist(arr, 4)) //true
console.log(isExist(arr, 10)) //false
```
如果不是數字而是其他型別,比如物件,可以修改上面的判斷邏輯
-
3 # 前端面試題
這是個有趣的問題,使用 ES10 中的 flat 就能輕鬆解決。Array.prototype.flat 能將多維陣列轉變成扁平化陣列,再使用 Array.prototype.includes 即可。
當然,不單單二維陣列,這也能擴散到多維陣列中是否含有目標數字。
相關內容
- 透過迴圈按行順序為一個5*5的二維陣列a賦1到25的自然數,然後輸出該陣列的左下半三角型?
- 編寫程式生成20個200到300之間的隨機整數存放到陣列中,輸出其中能被5整除的數並求出它們的和?
- 若二維陣列a有n行m列,則計算任一元素a[i][j]在陣列中位置的公式為 (設a[0][0])?
- 鍵盤輸入任意多個整數存放在一個一維陣列,再把該陣列中的元素逆序?
- 編寫程式:從鍵盤上輸入n整數到一個數組?
- 5 二維陣列和一位陣列卷積?
- 在陣列中查詢指定元素。輸入一個正整數n(1≤n≤10),然後輸入n個整數存入陣列a中,再輸入一個整數x,在?
- 1.程式設計實現:將一個任意整數插入到一個已排序的整數陣列中,插入後陣列中的數仍然保持有序。用C++編寫的?
- 程式設計中輸入8個整數放到陣列s中,求偶數有幾個最小的數是什麼這些數的和是多少?
深度遍歷二維陣列、然後透過“==”運算子對比即可。在JS中“==”運算子在比對基礎型別的時候不會有問題、如果運算子和該整數的對比結果為true表示存在該整數、反之不存在。
至於深度遍歷陣列的演算法的js實現可自行google。如果還存在疑問、建議題主細化提問!