Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查数组是否包含作为对象属性的值?_Javascript_Arrays_Object - Fatal编程技术网

Javascript 如何检查数组是否包含作为对象属性的值?

Javascript 如何检查数组是否包含作为对象属性的值?,javascript,arrays,object,Javascript,Arrays,Object,我有一个这样的物体: obj: { "abc": "xxxxx", "def": "yyyyy", "ghi": "zzzzz" } 和这样的数组(只有1个值): 结果应该是: array: ["yyyyy"] 我不知道该尝试什么,这就是为什么我没有。 我希望您能在这方面帮助我如果数组实际上只有一个条目,您可以很容易地使用该条目获取它命名的属性的值,方法是: 要仅使用该值构建新数组,可以使用数组文字

我有一个这样的物体:

    obj: {
          "abc": "xxxxx",
          "def": "yyyyy",
          "ghi": "zzzzz"
         }
和这样的数组(只有1个值):

结果应该是:

    array: ["yyyyy"]
我不知道该尝试什么,这就是为什么我没有。
我希望您能在这方面帮助我

如果数组实际上只有一个条目,您可以很容易地使用该条目获取它命名的属性的值,方法是:

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

[value]
因此,总而言之:

array = [obj[array[0]]];
实例:

const obj={
“abc”:“xxxxx”,
“def”:“yyyy”,
“ghi”:“zzzzz”
};
让数组=[“def”];
array=[obj[array[0]];

console.log(数组)您可以使用映射方法来执行此操作

代码是:

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

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

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

现在数组将是[“yyyy”,“xxxxx”]

console.log([obj[array.toString()])
@MohammadUsman just
obj[array]
也会起作用,因为它会在内部转换为字符串。您的问题的标题似乎与问题的主体不符。是的,可能是这样。对不起,我的英语不好
array = [obj[array[0]]];
obj = {
   "abc": "xxxxx",
   "def": "yyyyy",
   "ghi": "zzzzz"
}

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

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