[Solved] Match two object keys and display another object key value in angular 4


Use array find:

var languages = [
    {"name": "english", "iso_639_2_code": "eng"},
    {"name": "esperanto","iso_639_2_code": "epo"},
    {"name": "estonian","iso_639_2_code": "est"}
];
var user = [{name: "john",language: "eng",country: "US"}];

var language = languages.find(l => l.iso_639_2_code === user[0].language);
var languageName = language && language.name; // <-- also prevent error when there is no corresponding language found
console.log(languageName);

EDIT:

With multiple user, it will be:

var languages = [
    {"name": "english", "iso_639_2_code": "eng"},
    {"name": "esperanto","iso_639_2_code": "epo"},
    {"name": "estonian","iso_639_2_code": "est"}
];
var users = [
    {name: "john",language: "eng",country: "US"},
    {name: "john",language: "epo",country: "Esperanto"}
];

var languageNames = languages.filter(
    l => users.find(u => l.iso_639_2_code === u.language)
).map(lang => lang.name);

console.log(languageNames);

0

solved Match two object keys and display another object key value in angular 4