Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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,我需要检测这些值​​在对象中作为键存在的数组的 我试过这样做 var color = { 1: "Red", 2: "Blue", 3: "Yellow", 4: "Violet", 5: "Green", 7: "Orange&qu

我需要检测这些值​​在对象中作为键存在的数组的

我试过这样做

var color = {
             1: "Red",
             2: "Blue",
             3: "Yellow",
             4: "Violet",
             5: "Green",
             7: "Orange"
            };

var myColor = [3, 1];

for(const [key, value] of Object.entries(color)){

    var bgIco = (myColor.includes(key)) ? '[' + key + ']' + value + ' - Yes' : '[' + key + ']' + value + ' - No';

    console.log(bgIco);

}
但它总是回来不


如果在includes函数中,我手动在对象中输入一个数字,而不是key变量,那么它会工作,我做错了什么?

对象属性始终是字符串(或符号),即使它们在声明时看起来像数字:

constobj={1:'foo'};
const key=Object.keys(obj)[0];
console.log(key==1);

控制台日志(钥匙类型)如果要根据对象检查数组,则迭代数组似乎更简单

var color={
1:“红色”,
2:“蓝色”,
3:“黄色”,
4:“紫罗兰”,
5:“绿色”,
7:“橙色”
};
var myColor=[3,1,55];
对于(让k表示myColor){
log(k,color.hasOwnProperty(k),/*或*/k颜色);

}
非常感谢,它工作得很好,我知道它有点问题,但我不知道是什么