如何检查数组是否包含值,这是对象的属性?

时间:2019-08-22 11:02:31

标签: javascript arrays object

我有一个这样的对象:

    obj: {
          "abc": "xxxxx",
          "def": "yyyyy",
          "ghi": "zzzzz"
         }

和类似这样的数组(只有1个值):

    array: ["def"]

结果应为:

    array: ["yyyyy"]

我不确定要尝试什么,这就是为什么我没有。 我希望你能帮助我

2 个答案:

答案 0 :(得分:2)

如果数组实际上只有一个条目,则可以使用brackets notation轻松地使用该条目获取其命名的属性的值:

[value]

要仅使用该值构建一个新数组,可以使用数组文字:

array = [obj[array[0]]];

所以在一起:

const obj = {
  "abc": "xxxxx",
  "def": "yyyyy",
  "ghi": "zzzzz"
};

let array = ["def"];

array = [obj[array[0]]];

console.log(array);

实时示例:

word_tokenize

答案 1 :(得分:0)

您可以使用地图方法来实现...

代码是:

obj = {
   "abc": "xxxxx",
   "def": "yyyyy",
   "ghi": "zzzzz"
}

array = ["def", "abc"];

array = array.map(elem => {
    if(obj[elem]){
        return obj[elem];
    }
})

现在数组将为[“ yyyyy”,“ xxxxx”]