数组的遍历

遇到一个项目须要本身根据不一样平台显示不一样的页面和连接,因此本身写了一个数组,须要遍历数组数组

list: [ { id: 'czbguanwei', logo: require('../assets/chargeDis/chezhubang.png'), title: '百度推广官微', activeState: '车主邦北京已上线的珠海驿联电站', dec: '初秋送爽,车主邦为新能源汽车用户送上初秋福利!' } ]性能

一开始我想到了forEach遍历ui

this.platformList.forEach(item => {
      console.log(item.id)
      if (item.id === this.$route.params.id) {
        this.info = item
        console.log(item.title)
        window.zhuge.track(item.title)
      }
    })

可是这种遍历方式,break无效this

为了性能;我选择了 for incode

for (let idx in platformList) {
      if (platformList[idx].id === this.$route.params.id) {
        this.info = platformList[idx]
        window.zhuge.track(this.info.title)
        break
      }
    }

map也能够实现: map和foreach 都是不能return break结束循环,可是map能够return一个新的数组并且不改变原来的数组orm

platformList.map((item) => {
      if (item.id === this.$route.params.id) {
        this.info = item
      }
    })

filterit

platformList.filter((item) => {
      if (item.id === this.$route.params.id) {
        this.info = item
        console.log(item)
        return item
      }
    })

everyconsole

platformList.every((item) => {
      if (item.id === this.$route.params.id) {
        this.info = item
        console.log(item)
        return item
      }
    })

every和filter的区别: filter()会返回全部符合过滤条件的元素;every()会判断是否是数组中的全部元素都符合条件,而且返回的是布尔值 every()与some()的区别是:前者要求全部元素都符合条件才返回true,后者要求只要有符合条件的就返回trueform

相关文章
相关标签/搜索