vue.js 以下哪种方法是迭代此对象Array并删除item.text = null的对象的正确方法||项目.text =“”?

x6h2sr28  于 2022-11-25  发布在  Vue.js
关注(0)|答案(1)|浏览(89)

所以我有下一个数组:

const contactInfo = computed(() => {
      return [
        {
          id: 'address',
          icon: 'detail/clubLocation',
          text: `${props.data.contactInfo.address}`
        },
        {
          id: 'phone',
          icon: 'contactInfo/phone',
          text: `${props.data.contactInfo.phone}`
        },
        {
          id: 'mail',
          icon: 'contactInfo/mail',
          text: `${props.data.contactInfo.email}`
        },
        {
          id: 'instagram',
          icon: 'contactInfo/instagram',
          text: `${props.data.contactInfo.instagram}`
        },
        {
          id: 'facebook',
          icon: 'contactInfo/facebook',
          text: `${props.data.contactInfo.facebook}`
        }
      ]
    })

我刚从后台收到一个调用,说所有这些字段都是可选的,所以我必须处理**text ⇒ null and undefined/''**我做了下一个计算并返回它:

const contactInfoFiltered = computed(() => {
      return contactInfo.value.filter(
        info => info.text !== null || info.text !== ''
      )
    })

但它不起作用,因为我仍然看到图标被渲染,我真的不知道为什么。
提前感谢,当然,任何帮助都是高度赞赏!

46scxncf

46scxncf1#

js中,任何值都可以被测试,以便知道它是否是“某物”,所以你可以测试nullundefined甚至0'',它们都将导致false求值,这可以解决你的问题:

const contactInfoFiltered = computed(() => contactInfo.value.filter(info => info))

相关问题