第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遍歷對象數(shù)組并檢查它是否具有給定屬性或不使用 typescript 或 javascript

遍歷對象數(shù)組并檢查它是否具有給定屬性或不使用 typescript 或 javascript

浮云間 2022-01-07 10:39:25
在我的 Angular 6 應(yīng)用程序中,我有以下從后端檢索的 json 對象。"participants": [{        "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"    }],    "dataInAB": "ATB",    "subject": "test ",    "unreadMessageCount": 0,    "updateDate": 1520585258,    "updatedBy": "atb"}在上面的對象數(shù)組中,我想知道它是否具有名為 key 的屬性?如果不是,它將檢查另一個對象并使用打字稿檢查它。密鑰的位置可以存在于任何參與者的對象中。如果它存在于任何地方,則返回它的值。我知道使用 hasOwnProperty 但我不確定它是否會遍歷所有對象?謝謝
查看完整描述

3 回答

?
aluckdog

TA貢獻1847條經(jīng)驗 獲得超7個贊

試試這樣:


getValueOfKey() {

    for (var obj of this.data.participants) {

      if(obj.hasOwnProperty('key')){

         return obj.key;

      }

    }

}


查看完整回答
反對 回復 2022-01-07
?
臨摹微笑

TA貢獻1982條經(jīng)驗 獲得超2個贊

如果要檢查數(shù)組是否具有具有key屬性的對象,請使用some方法。如果要獲取數(shù)組中具有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);


查看完整回答
反對 回復 2022-01-07
?
慕田峪4524236

TA貢獻1875條經(jīng)驗 獲得超5個贊

您可以使用過濾器Array.prototype.filter()從與您的過濾器匹配的數(shù)組中檢索所有元素。


該函數(shù)接受一個回調(diào)函數(shù)作為必須返回true以保留元素或false刪除元素的參數(shù)。該函數(shù)返回一個包含與過濾器匹配的所有元素的新數(shù)組:


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);

此函數(shù)將返回一個新數(shù)組,其中包含所有具有名為key的屬性的對象。


我們可以使用一些 Javascript 魔法來縮短事件并省略!== undefined檢查,因為在一個if條件下,undefined等于 false 并且任何其他結(jié)果(除了 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));


查看完整回答
反對 回復 2022-01-07
  • 3 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號