JS - filter方法的使用

在项目中遇到的问题,记录下来,方便日后查阅和复习😁

1、作用

filter ->用于对数组进行过滤
创建一个新数组,包含通过所提供函数实现的测试的所有元素

⚠️filter()方法不会对空数组进行检测,不会改变原始数组

2、语法及参数及返回值

var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])
callback
  用来测试数组的每个元素的函数。
  返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数:
  element
  数组中当前正在处理的元素。
  index可选
  正在处理的元素在数组中的索引。
  array可选
  调用了 filter 的数组本身。
thisArg可选
执行 callback 时,用于 this 的值。
返回值:一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。

摘自 Array​.prototype​.filter() - JavaScript | MDN

3、项目中应用到的实例

// 引入自己创建的假数据
import itemsData from '../lib/newItemsData'
export default {
  data () {
    return {
      itemsData,
      itemId: this.$route.query.itemId //获取当前url下拼接的itemId值
    }
  },
  computed: {
    itemData () {
      // 过滤itemsData数据中的id值
      // 接收到的id和数据过滤后的id相等就返回当前数据
      let itemdata = this.itemsData.filter((item) => {
        return Number(item.sku_id) === Number(this.itemId)
      })[0]
      return itemdata
    }
  }
}

4、返回的数据如图

9043106-14df0058fc4bc81f.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容