2017-12-08 3 views
-4

私のオブジェクトは、Javascriptオブジェクトからさらに2つの値を取得します。可能です?

objTest["CT_1^PS_1^OP01"] = "test1"; 
objTest["CT_1^PS_1^OP02"] = "test2"; 
objTest["CT_1^PS_1^OP03"] = "test3"; 

であると私stirngは

string sFindVal = "CT_1^PS_1"; 

あるそれは "CT_1^PS_1" で始まる単語の "値" を持参することは可能ですか?

値( "test1"、 "test2"、 "test3")を取得したいのは、キーが "CT_1^PS_1"だけです。

英語は母国語ではありません。 ご理解ください。

答えて

1

一つの方法は、キーincludesすべての値の文字列

const objTest = {}; 
 

 
objTest["CT_1\\PS_1\\OP01"] = "test1"; 
 
objTest["CP_1\\PS_1\\OP01"] = "error"; 
 
objTest["CT_1\\PS_1\\OP02"] = "test2"; 
 
objTest["CT_1\\PS_1\\OP03"] = "test3"; 
 

 
const sFindVal = "CT_1\\PS_1"; 
 

 
const arr = Object.keys(objTest).reduce((arr, key) => { 
 
    if (key.includes(sFindVal)) arr.push(objTest[key]); 
 
    return arr; 
 
}, []); 
 

 
console.log(arr);

の配列を返す Object.keysreduceを使用することです
関連する問題