要件: 配列内の各項目にtaskCount
フィールドがあるかどうかを判断します。
データ形式
boxList:[
{
type:1,status:0, taskCount:'',barcode:'001',},
{
type:2,status:2, taskCount:0,barcode:'052',},
{
type:3,status:1, taskCount:120,barcode:'034',}
]
<div v-for="items in boxList" :key="items.groupId" >
<div class="lock-task" v-if="item.hasOwnProperty('taskCount')">
</div>
</div>
item.hasOwnProperty('taskCount')
1. オブジェクトに特定のキーが存在するかどうかを判断します。
let obj={
name:'张三',
sex:'男'
}
jsメソッド
方法 1:
Object.hasOwnProperty.call(obj,'name'); // true
Object.hasOwnProperty.call(obj,'age'); // false
方法 2:
obj.hasOwnProperty('name'); // true
obj.hasOwnProperty('age'); // false
方法 3:
'name' in obj; // true
'age' in obj; // false
2. 配列内のオブジェクトに特定のキーが存在するかどうかを判断します
2.1. 配列内のオブジェクトに特定のキーが存在するかどうかを判断する
arr = [
{
name:'张三', sex:'男'},
{
name:'李四', sex:'男'},
{
name:'王五', sex:'男'},
];
jsメソッド
方法1:
arr.some(item=>Object.hasOwnProperty.call(item,'name')); // true
arr.some(item=>Object.hasOwnProperty.call(item,'age')); // false
方法2:
arr.some(item=>item.hasOwnProperty('name')); // true
arr.some(item=>item.hasOwnProperty('age')); // false
方法3:
arr.some(item=>'name' in item); // true
arr.some(item=>'age' in item); // false
2.2. 配列内のオブジェクトに条件を満たす要素があるかどうかを判定する
arr = [
{
name:'张三', sex:'男', age:11},
{
name:'李四', sex:'男', age:22},
];
JSメソッド:
arr.some(item => item.name === '张三'); // true
arr.some(item => item.name === '王五'); // false
2.3 配列内のオブジェクトに条件を満たす要素があるかどうかを判定し、条件を満たす要素をすべて返す
arr = [
{
name:'张三', sex:'男', age:11},
{
name:'李四', sex:'男', age:22},
{
name:'王五', sex:'男', age:33},
];
jsメソッド
const list = arr.filter(item => item.age === 11);
console.log(list); // [{ name: '张三', sex: '男', age: 11 },{ name: '王五', sex: '男', age: 11 }]