在项目中遇到的问题,记录下来,方便日后查阅和复习😁
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
}
}
}