javascript 小练习

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.习惯用箭头函数,可以让你的代码更易读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值