目标:判断数组中是否所有元素都是正数。 如果都是,则返回true,否则返回false
let arr1=[10, 13, 30, 50,10,-20,60]
let arr2=[10, 29, 30, 52,10,10,60]
法1 声明一个新数组,循环遍历原数组,原素组里大于0的数,才往新数组里面push,最后比较两个数组长度即可
function isAllPosNum(arr){
let newArr=[]
for(let i = 0
if (arr[i]>0){
// newArr[newArr.length]=arr[i]
newArr.push(arr[i])
}
}
return newArr.length===arr.length?true:false
}
let res1=isAllPosNum(arr1)
let res2=isAllPosNum(arr2)
console.log(res1, res2)//false true
法2 开关思想,声明一个 flag 为 true ,循环遍历该数组,只要该数组里存在非正数, flag 就变成 false ,最后返回 flag 即可
function isAllPosNum(arr){
let flag=true
for(let i = 0
if (arr[i]<=0){
flag=false
break
}
}
return flag
}
let res1=isAllPosNum(arr1)
let res2=isAllPosNum(arr2)
console.log(res1, res2)//false true
法3 every() ,只要有一个不符合要求就返回 false ,全部满足才返回 true
let res1=arr1.every(item=>item>0)
let res2=arr2.every(item=>item>0)
console.log(res1,res2)