JS-判断 array/object中 是否存在某个元素/key(键)

需求: 判断数组里的每一项是否有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’)

一、判断Object中是否存在某个key(键)

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

二、判断数组中的Object中是否存在某个key(键)

2.1. 判断数组中的Object中是否存在某个key(键)

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. 判断数组中的Object中是否存在某个满足条件的元素

arr = [
  {
    
    name:'张三', sex:'男', age:11},
  {
    
    name:'李四', sex:'男', age:22},
];

JS方法:

arr.some(item => item.name === '张三'); // true
arr.some(item => item.name === '王五'); // false

2.3 判断数组中的Object中是否存在某个满足条件的元素,并返回所有满足条件的元素

arr = [
  {
    
    name:'张三', sex:'男', age:11},
  {
    
    name:'李四', sex:'男', age:22},
  {
    
    name:'王五', sex:'男', age:33},
];

js方法

扫描二维码关注公众号,回复: 17174367 查看本文章
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