js小练习1
现在有两份数据,一份是持久存储的数据cache,一份是当前缓存的数据data,data跟cache数据是需要保证一致的,现在data新增了两条数据{ name: ‘li’ }, { name: ‘zhang’ },你要把这两条新增的数据跟cache比对,如果是新增的就插入进去,不是就保留
代码展示
let caches = [
{ name: ‘song’ }, { name: ‘cheng’ }
]
let datas = [
{ name: ‘li’ }, { name: ‘zhang’ }
]
function updateCache(cache, data) {
data.forEach(function (item) {
let isNew = true;
cache.forEach(function (cachedItem) {
if (cachedItem.name === item.name) {
isNew = false
}
})
if (isNew) { cache.push(item) }
})
return cache
}
let updateCaches = updateCache(caches, datas)
console.log(updateCaches)
问题分析:
1.push的时候cache的索引是在改变的.甚至如果需要根据索引更新数据 就会出错
2.循环里面套循环,会让你的性能负担增加
3.习惯用箭头函数,可以让你的代码更易读
1410

被折叠的 条评论
为什么被折叠?



