-
aluckdog
试试这样:getValueOfKey() { for (var obj of this.data.participants) { if(obj.hasOwnProperty('key')){ return obj.key; } }}
-
临摹微笑
如果要检查数组是否具有具有key属性的对象,请使用some方法。如果要获取数组中具有key属性的所有对象,请使用filter方法:const arr = [{ "dateJoin": 1520409578, "dateLeft": 0, "firstName": "edh", "internalId": 165, "invitedBy": "edh", "lastName": "edh", "userId": "edh", "key": "data"}, { "dateJoin": 1520409578, "dateLeft": 0, "firstName": "", "internalId": 166, "invitedBy": "edh", "lastName": "", "userId": "ATB"}];const hasKey= arr.some(s => s.key);console.log(`hasKey: ${hasKey}`);const objectsWithKeyProperties = arr.filter(f => f.key);console.log(`objectsWithKeyProperties :`, objectsWithKeyProperties);
-
慕田峪4524236
您可以使用过滤器Array.prototype.filter()从与您的过滤器匹配的数组中检索所有元素。该函数接受一个回调函数作为必须返回true以保留元素或false删除元素的参数。该函数返回一个包含与过滤器匹配的所有元素的新数组:const result = [1, 2, 3, 4, 5].filter((num) => num > 3);// result will look like this: [4, 5]对于您的问题,您将检查所需的属性是否为undefined:participants.filter((participant) => participant.key !== undefined);此函数将返回一个新数组,其中包含所有具有名为key的属性的对象。我们可以使用一些 Javascript 魔法来缩短事件并省略!== undefined检查,因为在一个if条件下,undefined等于 false 并且任何其他结果(除了 boolean false)等于true:participants.filter((participant) => participant.key);片段:console.log([1, 2, 3, 4, 5].filter((num) => num > 3));const participants = [ {name: "John", key: "zero"}, {name: "Prince"}];console.log(participants.filter((participant) => participant.key));