封裝數組的forEach() 實現數組的遍歷
//封裝數組的forEach() 實現數組的遍歷
function forEach(array,fn){
for(let i=0;i<arr.length;i++){
fn(array[i],i,array);
}
}
let arr =[1,3,5,6,7,8];
//調用函數打印出每一個元素
forEach(arr,function(item,index,arr){
document.write(`arr數組的第${index}個元素是${item}<br>`);
})
封裝數組的fliter()
//刪選出符合條件的元素,返回符合條件元素的新數組
function fliter(array,fn){
let newarr=[];
for(let i=0;i<array.length;i++){
//刪選出符合條件的元素,符合條件的傳進新數組
if(fn(array[i],i,array)){
newarr[newarr.length]=array[i];
}
}
return newarr;
}
let arr =[1,3,5,6,7,8];
let newarr=fliter(arr,function(item,index,array){
//刪選出大於5的元素
if(item>5) return item;
})
document.write(newarr);
封裝數組的some()
// 判斷數組中元素是否滿足某個條件,如果有一個元素滿足條件,返回真
function some(array,fn){
//初始化返回值爲假
let result=false;
//判斷 一個元素滿足條件,就把返回值設置成真
for(let i=0;i<array.length;i++){
if(fn(array[i],i,array)){
result=true;
}
}
return result;
}
let arr=[1,3,5,6,7,8,9,10,'a'];
let result=some(arr,function(item,index,arr){
//判斷是否有元素等於7
return item===7;
});
document.write(result);
封裝數組的every()
// 判斷數組中元素是否滿足某個條件,如果所有元素都滿足條件,返回真
function every(array,fn){
//初始化返回值爲真
let result=true;
//判斷 一個元素不滿足條件,就把返回值設置成假
for(let i=0;i<array.length;i++){
if(!fn(array[i],i,array)){
result=false;
}
}
return result;
}
let arr=[1,3,5,6,7,8,9,10];
let result=every(arr,function(item,index,arr){
//判斷所有元素是否是數字類型
return typeof(item)==='number';
});
document.write(result);
封裝repeat的方法
//repeat實現的是將一個字符串複製n次 參數輸入錯誤 次數是負數 次數是小數
function repeat(str,count){
if(typeof(count)==='number'&&typeof(str)==='string'){
if(count<0){
return '輸入數字不能爲負數';
}
else{
let newstr='';
for(var c=0;c<Math.floor(count);c++){
newstr=newstr+str;
}
return newstr;
}
}
else{
return '傳入參數不正確';
}
}
//調用repeat函數
document.write(repeat('lalalahhh',3));