methods: {
// filter()与find()使用方法也相同。同样都接收三个参数。不同的地方在于返回值。filter()返回的是数组,数组内是所有满足条件的元素,而find()只返回第一个满足条件的元素。如果条件不满足,filter()返回的是一个空数组,而find()返回的是undefined
// const myArr=[1,2,3,4,5,6];
// var v=myArr.find(value=>value>4);
// console.log(v);// 5
// 1.filter用法:过滤状态为‘启用‘的数据
inactiveFn() {
this.tableData = this.tableData.filter(item => {
return item.blnisinactive === 0
// 过滤编码大于‘1007‘的信息
// return item.strprofesscode * 1 > 1007
})
},
// 2.map用法:返回所有的职称
namesFn() {
this.names = this.tableData.map(item => {
return item.strprofessname
})
},
// 3.map用法:返回所有键值对id
idsFn() {
this.ids = this.tableData.map(item => {
return { lngprofessid: item.lngprofessid }
})
},
// 4.forEach用法:找到编码为‘1006‘职称,---注意 filter,some,find 结果一样
strprofessnameFn() {
this.tableData.forEach(item => {
if (item.strprofesscode === ‘1006‘) {
this.strprofessname.push(item.strprofessname) // 正厅级 院长
// this.strprofessname = item.strprofessname// 显示的是最后一个
}
})
},
// 5.some用法:一个true则为true,every用法:所有true才为true
// 做判断用,是否存在编码1009 some:返回true,every:返回false
isHaveFn() {
this.code1009 = this.tableData.some(item => {
return item.strprofesscode === ‘1009‘
})
}
// some用法:
// let arr = [1,2,3,4];
// let res = arr.some(item => item > 4)
// console.log(res); // false
// every用法:
// let arr = [1,2,3,4];
// let res = arr.every(item => item > 0)
// console.log(res); // true
}
forEach,map,filter,find,some,every区别
原文:https://www.cnblogs.com/hellofangfang/p/14662173.html