这篇文章是使用vuejs获取数组,其中一个数组里面包含全部的数值,另一个数组只有一部分数值,要做的就是第二个数组去匹配第一个数组,匹配相同的情况下,给这个相同的数值打上钩,如下图
项目地址:https://github.com/fengliting/vue-array,后续代码解说就不会全部都打上
html是遍历全部的数组
<li v-for="item in arr1" >
<div class="checkbox">
<label>
<!--value存在于v-model里面的话,checkbox会自动勾选-->
<input class="chk_1" type="checkbox" @click="choseitem($event.target.value)" v-model="indexs" :value="item.id">
{{item.value}}
</label>
</div>
</li>
js代码
//全部
var list1 = [{value:'Mary',id:1},{value:'Away',id:2},{value:'Ali',id:3},...]
var list2 = [{value:'Mary',id:1},{value:'Away',id:2},{value:'Neinei',id:8},...]
//获取第二个数组里面的对象
getarrayitem:function(){
this.indexs = this.list2.map(function(json){
return json.id
})
}
//选中的值判断是否在第二个数组中
choseitem:function(inputid){
//this.isArr是判断某一个值是否在数组中,可以用原生js实现,也可以使用jquery实现,这里就不贴这个代码了
if(this.isArr(inputid,this.indexs){
console.log("存在第二个数组内")
})
console.log("不存在第二个数组中")
}