2017-06-29 5 views
1

私はオブジェクトの配列result2を持っていて、各オブジェクトには属性があります。私は私のコンソールでconsole.dir(result3);を呼び出すのであれば、私は見Example特定の属性を持つobejctの配列からオブジェクトを選択する方法

私は例えば、私は私が

const result3 = []; 
for (let i = 0; i < result2.length; i++) { 
    if (result2[i].sm[['_akzsilb'] === 'LV' && ['_graphem'] === 'diphtong']) { 
    result3.push(result2[i]); 
    } 
} 

をしようとしたが、それをdoesnt't

sm[['_akzsilb'] === 'LV' 
sm ['_graphem'] === 'diphtong'] 

でオブジェクト必要な、私のオブジェクトをソートするために嘘でしょう

作業。私はこれが正しい方向だと思います。何かを試してみると

const result3 = []; 
for (let i = 0; i < result2.length; i++) { 
    if (result2[i].sm) { 
    result3.push(result2[i]); 
    } 
} 

のように動作します。だから私はどのように "深く"両方にアクセスできる(私は両方が必要なので、オブジェクトによって存在する必要があります)_akzsilb_graphem

+2

リテラル構文で使用し、アレイの小さな部分を追加してください。 –

答えて

1

アレイフィルターを使用することができます。

filter()メソッドは、指定された関数によって実装されたテストに合格するすべての要素を含む新しい配列を作成します。

Array.prototype.filter()

let arr = [{ 
 
    name: "Joe", 
 
    rank: "Private", 
 
    serialnum: 1 
 
    }, 
 
    { 
 
    name: "Bob", 
 
    rank: "General", 
 
    serialnum: 4 
 
    }, 
 
    { 
 
    name: "Kev", 
 
    rank: "Private", 
 
    serialnum: 6 
 
    }, 
 
    { 
 
    name: "Kel", 
 
    rank: "Private", 
 
    serialnum: 3 
 
    } 
 
]; 
 

 
let results = arr.filter(person => person.rank === "Private" && person.serialnum != 6); 
 

 
console.log(results);

関連する問題