应用场景:可以用来判断数组中是否所有元素满足条件
主要分为三个流程:
1.声明一个变量开关(一般默认值为true)
2.遍历数组,判断数组中的每一个元素是否满足条件,
如果条件不满足,则修改属性值为false;
如果条件满足,则无需修改属性值.因为默认值就是true
3.返回开关变量值
案例一:
需求:判断数组是不是所有元素都是正数, 是则返回true 否则返回false
//声明一个函数
function isAllPositive(arr) {//给函数传参,参数为数组
//声明一个变量
let bol = true
//遍历数组
for (let i = 0; i < arr.length; i++) {
/*判断数组里面每一个元素是否满足正数,不满足的话,变量为false*/
if (arr[i] < 0) {
bol = false
break//如果已经找到满足条件的10,则添加break,后面的代码不需要执行,可以提高性能
}
}
return bol//返回变量值
}
案例二:
需求:找出数组中 元素为10的下标,有则返回该下标,没有则返回-1
//声明一个函数
function num10(arr) {
//声明一个变量
let num = -1
let newArr = []
//遍历数组
for (let i = 0; i < arr.length; i++) {
//判断元素中是否有10
if ( arr[i] === 10 ) {
num = i
newArr.push(i)
}
}
//返回变量值
return num > -1 ? newArr : -1
}
//调用函数
let res = num10([1,3,2,10,4,10])
console.log(res)
let res1 = num10([1,20,2,3,4])
console.log(res1)
案例三:
需求:请封装一个获取随机颜色的函数
要求:该函数接收一个布尔类型参数,表示颜色的格式是十六进制还是rgb格式。
(16进制颜色格式为: ‘#ffffff’ 其中f可以是任意 0-f之间的字符)
(rgb颜色格式为: ‘rgb(255,255,255) ’ 其中255可以是任意0-255之间的数字)
//声明函数
function getRandomColor(bol){
let str = '#'
let newArr = ['1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']
//数组下标0-15 数组的随机下标固定语法: paseInt( Math.random() * 数组长度)
for(let i = 0;i < 6; i++){
//生成一个0-16的随机数
//转换16进制
str += parseInt( Math.random() * 16).toString(16)
}
//生成一个随机数
let r = parseInt( Math.random() * 256)
let g = parseInt( Math.random() * 256)
let b = parseInt( Math.random() * 256)
return bol ? str : `rgb(${r},${g},${b})`
}
console.log(getRandomColor(true))
console.log(getRandomColor(false))