数组的高阶函数 &
v-model指令
数组的高阶函数
在vue中,可以使用的数组高阶函数只有七个,分别是forEach,filter,findIndex,find,some,every,map 。下面是这几个函数的用法。
forEach方法,用于遍历整个数组
let arr = [11,22,33,44,55,66,77,88,99,111,222,333,444]
arr.forEach((r,i)=>{
console.log(r,i);
})
console.log('-------------------');
filter方法,用于过滤源数组,返回满足条件的新数组
let arr = [11,22,33,44,55,66,77,88,99,111,222,333,444]
let arr2 = arr.filter(r=>r%2===0)
console.log(arr2);
console.log('-------------------');
findIndex方法,用于查找数组中满足条件的第一个元素的位置,没有找到,返回-1
let arr = [11,22,33,44,55,66,77,88,99,111,222,333,444]
let index1 = arr.findIndex(r=>r===55)
console.log(index1);
let index2 = arr.findIndex(r=>r===56)
console.log(index2);
console.log('-------------------');
find方法,用于查找数组中满足条件的第一个元素,没有找到,返回undefined
let arr = [11,22,33,44,55,66,77,88,99,111,222,333,444]
let num1 = arr.find(r=>r%2===0)
console.log(num1);
let num2 = arr.find(r=>r>10000)
console.log(num2);
console.log('-------------------');
some方法,用于检查数组中,是否有满足条件的元素
let arr = [11,22,33,44,55,66,77,88,99,111,222,333,444]
let isOk = arr.some(r=>r>100)
console.log(isOk);
console.log('-------------------');
every方法,用于检查数组中,所有元素是否都满足条件
let arr = [11,22,33,44,55,66,77,88,99,111,222,333,444]
let isOk2 = arr.every(r=>r>100)
console.log(isOk2);
console.log('-------------------');
map方法,用于将原始数组中的所有元素,根据条件返回一个全新的数组
let arr = [11,22,33,44,55,66,77,88,99,111,222,333,444]
let arr3 = arr.map(r=>r/2)
console.log(arr3);
v-model指令
v-model指令默认触发的是input事件,当文本框的值发生变化后,离开同步给数据
添加.lazy修饰符,可以将input事件转为change事件,.trim修饰符,用于去掉内容的首尾空格
例:姓名:<input type="text" v-model.lazy.trim="name">开始{{name}}结束
v-model绑定一组单选框,每个单选框指定相同的属性
例:性别:
<input v-model="sex" type="radio" value="男" name="sex">男
<input v-model="sex" type="radio" value="女" name="sex">女
用.number修饰符,会自动将你的输入转为number
例: 年龄:<input type="text" v-model.number="age">{{age+20}}
v-model绑定单个复选框,绑定一个boolean值
是否同意:<input type="checkbox" v-model="isOk">{{isOk}}
v-model绑定多个个复选框,绑定同一个数组
例:爱好:
<input v-model="hobbies" type="checkbox" value="打游戏">打游戏
<input v-model="hobbies" type="checkbox" value="敲代码">敲代码
<input v-model="hobbies" type="checkbox" value="睡觉">睡觉
<input v-model="hobbies" type="checkbox" value="看电影">看电影
v-model绑定一个属性
例:<select v-model="city">
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
</select>
v-model绑定一个数组
例:<select multiple v-model="foods">
<option value="苹果">苹果</option>
<option value="面包">面包</option>
<option value="香蕉">香蕉</option>
</select>