微信小程序踩坑:一个“=”等号引发的“血案”

最近经常熬夜写 bug ,连续肝到凌晨。

今天在一个地方卡住了,在操作数组的时候,发现 map 后数据的 value 都是重复的,导致 filter  过滤出现问题。

举个例子:

const data = [
  {name: '百度', val: '101'},
  {name: '腾讯', val: '102'},
  {name: '阿里', val: '103'}
]
let list = []
data.map((item) => {
  list.push({
    name: item.name,
    value: item.val
  })
})
const info = list.filter((item) => {
  return item.value = '102'
})
console.log(info)

看一下,这里打印的 info 是什么?

我想要的是:

[{name: '腾讯', value: '102'}]

得到的结果却是:

[
  {name: '百度', value: '102'},
  {name: '腾讯', value: '102'},
  {name: '阿里', value: '102'}
]

实际上问题并不在 map,而是我脑抽在  filter  过滤的时候给 value 赋值了。

忘了一个 = 等号,应该是这样才对:

const info = list.filter((item) => {
  return item.value == '102'
})

// [{name: '腾讯', value: '102'}]

就这么一个小小的 = 害我抠了老半天,啊啊啊啊!

我要睡觉了,再这么下去要猝死了。ˊ(●﹏●)ˋ

未经允许不得转载:w3h5 » 微信小程序踩坑:一个“=”等号引发的“血案”

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/150544.html

(0)
上一篇 2021年9月13日
下一篇 2021年9月13日

相关推荐

发表回复

登录后才能评论