<script type="text/javascript">
//缓存的数据
var selected = [
{ id: 09, name: '苹果', price: 3.5,checked:true },
{ id: 10, name: '香蕉', price: 4.1,checked:true},
{ id: 11, name: '橘子', price: 4.6,checked:true}
]
//新数据[从后台获取的数据]
var product = [
{ id: 09, name: '苹果', price: 3.5,checked:false },
{ id: 10, name: '香蕉', price: 4.1, checked:false},
{ id: 11, name: '橘子', price: 4.6, checked:false},
{ id: 12, name: '葡萄', price: 8.6, checked:false},
{ id: 13, name: '猕猴桃', price: 7.6, checked:false}
]
//.进入当前页面拿缓存数据和新数据(从后台获取的数据)进行对比,然后进行对比渲染
function arrToJson(arr,obj={}){
arr.forEach((item)=>{
// console.log('item');
// console.log(item);
obj[item.id] = item;
})
console.log('obj');
console.log(obj);
return obj;
}
 
select = arrToJson(selected);
// console.log('selected已经 ')
// console.log(selected)
// arrToJson(selected);
var i=0;
while (i<product.length){//此处可以用for循环,但是推荐使用while,因为while比for效率高
if(select[product[i].id]){
product[i].checked = true;
}
i++
}
while (i < product.length) {
if(select[product[i].id]){
product[i].checked = true;
}
i++
}
//product 处理完可以用于渲染的数据
console.log("方法二",product);
 
</script>
来源:CSDN
作者:做个有准备的人
链接:https://blog.csdn.net/u011565547/article/details/103934643