JS - 配列/オブジェクトに特定の要素/キー(キー)が存在するかどうかを判断する

要件: 配列内の各項目に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 }]

おすすめ

転載: blog.csdn.net/Maxueyingying/article/details/134160402