通过判断数组的某个值是否为空,来实现计算属性的控制

在这里简单的做个记录,有需要自取(小编能力有限,如有问题勿喷,有不足之处希望大牛能指出,谢谢)

1、话不多说直接上代码

<template>
	<div>
		<el-button size=" mini" type="primary" :disabled="!disabled">按钮</el-button>
	</div>
</template>
<script>
	export default {
		data() {
			return {
				date: ['1', '2', '3']
			}
		},
		computed: {
			disabled() {
				return this.date.some(i => i == '3')
			},
		}
	}
</script>

2、以下还有其他 方法可用于判断数组中是否包含某个值

①for循环

<script>
	export default {
		methods: {
			// 方法一for循环判断
			filtration() {
				let data = ['1', '2', '3']
				for (let i = 0; i < data.length; i++) {
					if (data[i] == '3') {
						return true
					}
				}
				return false
			},
			// 方法二也是for循环
			filtration2(date, value) {
				for (let i = 0; i < data.length; i++) {
					if (data[i] == value) {
						return true
					}
				}
				return false
			},



			// 需要使用的地方
			use() {
				this.filtration()//不传参数
				this.filtration2(['1', '2', '3'], '3')//传参
			},
		}
	}
</script>

②includes

<script>
	export default {
		methods: {
            //直接调用此方法就可以使用
			filtration() {
				const date= [1, 2, 3, 4, 5]
				let a = date.includes(3)
				console.log(a)
			},
		}
	}
</script>

③indexOf

<script>
	export default {
		methods: {
			filtration() {
				const date= [1, 2, 3, 4, 5] // 定义
				let a = date.indexOf(3) // 方法
				console.log(a) // 输出2 ,不为-1则表示存在
			},

		}
	}
</script>

④filter

<script>
	export default {
		methods: {
			filtration() {
				const date= [1, 2, 3, 4, 5] // 定义
				let a = date.filter(c => c == 3).length > 0 // 使用
				console.log(a)//为true表示存在,false为不存在
			},

		}
	}
</script>

⑤find

<script>
	export default {
		methods: {
			filtration() {
				const date = [1, 2, 3, 4, 5] // 定义
				let a = date.find(c => {
					return c === 3
				}) // 使用
				console.log(a) //true存在,false不存在
			},

		}
	}
</script>

⑥Set中的has

<script>
	export default {
		methods: {
			filtration() {
				const date = [1, 2, 3, 4, 5] // 定义
				let a = new Set(date).has(3) // 使用
				console.log(a)//true存在,false不存在
			},
		}
	}
</script>

猜你喜欢

转载自blog.csdn.net/A1123352950/article/details/132415509