2017-12-02 10 views
0

複雑なキー名にアクセスすることに関してMY質問に私は素晴らしい答えを得ましたが、私には複雑な名前に頼ることができないかもしれませんそのキーの - それは変わるかもしれません - しかし、私はキー名、すなわち "役割"の最後の単語に自信があります。配列のキー名内で名前を検索し、そのキー値を復帰する

次のように配列がある - コンソールから取られたよう:

{ 
    "http://schemas.microsoft.com/ws/2008/06/identity/claims/role": "Admin", 
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "admin", 
    "nbf": 1512187433, 
    "exp": 1512187453, 
    "iss": "SuperAwesomeTokenServer", 
    "aud": "http://localhost:3000/" 
} 

私は名前を「役割」を除いて同じであるとのhrefに頼るカントと私はそのは現在、座っ事実に頼ることはできません最初の場所で。

どのようにして名前に埋め込まれた「ロール」の存在についてすべてのキー名をチェックしてから、キーの値を返しますか?

答えて

1

次のように試してみてください。以下は

var data = { 
 
    "http://schemas.microsoft.com/ws/2008/06/identity/claims/role": "Admin", 
 
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "admin", 
 
    "nbf": 1512187433, 
 
    "exp": 1512187453, 
 
    "iss": "SuperAwesomeTokenServer", 
 
    "aud": "http://localhost:3000/" 
 
}; 
 

 
for(var key in data){ 
 
    if(key.includes('role')){ 
 
    console.log(data[key]); 
 
    } 
 
}

0

は、オブジェクトをループして、キーが「役割」を含む配列を返します。

var obj = { 
 
    "http://schemas.microsoft.com/ws/2008/06/identity/claims/role": "Admin", 
 
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "admin", 
 
    "nbf": 1512187433, 
 
    "exp": 1512187453, 
 
    "iss": "SuperAwesomeTokenServer", 
 
    "aud": "http://localhost:3000/" 
 
}; 
 

 
    var arr = []; 
 
for(var key in obj){ 
 
    if(key.indexOf('role') !== -1){ 
 
    arr.push(obj[key]) 
 
    } 
 
} 
 

 
console.log(arr);

関連する問題