es6模板语法${}的疑问

为什么我条件满足了还不能打印,第一次用模板语法,我这样写错了吗,或者该如何写,感谢


    let setvalue = 'value'
    list.forEach(i=> {
        if (value === `i.${setValue}`) {
            console.log('1')
         }
    })
     
阅读 2.5k
2 个回答

value === 'i.value' ? 这个条件不成立
如果你把i.${setValue}打印出来会发现它是一个字符串
推荐这么写
value === i[`${setValue}`]
这样才是访问元素i的成员value

你这样拼接的是字符串value === 'i.value'
用变量key获取对象的值 应该

let setvalue = 'value'
list.forEach(i=> {
    if (value === i[setvalue]) {
        console.log('1')
     }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题