some() 方法用於檢測數組中的元素是否滿足指定條件(函數提供)。返回值為布爾類型
some() 方法會依次執行數組的每個元素:
- 如果有一個元素滿足條件,則表達式返回true , 剩余的元素不會再執行檢測。
- 如果沒有滿足條件的元素,則返回false。
注意: some() 不會對空數組進行檢測。
注意: some() 不會改變原始數組。
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.some(checkAdult);
}
輸出結果為:
true
手寫拍平數組
<script>
function flat(arr){
while(arr.some(item => Array.isArray(item))){
arr = [].concat.apply([],arr);
}
return arr;
}
var arr = [1, 2, 4, [6, 7, [4, 5]]]
const newarr = flat(arr)
console.log(newarr)
</script>
//遞歸實現
function flat(arr){
var arr1 =[]
arr.forEach((value) => {
if(value instanceof Array){
arr1 = arr1.concat(flat(value))
}else {
arr1.push(value)
}
})
return arr1
}
將數組扁平化並去除其中重復數據,最終得到一個升序且不重復的數組
Array.from(new Set(arr.flat(Infinity))).sort((a,b) => return{(a-b)})