Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 - Fatal编程技术网

Javascript 在对象数组中查找颜色属性

Javascript 在对象数组中查找颜色属性,javascript,Javascript,试图在对象的数组中查找匹配的属性。我无法让我的查找来选择颜色。有什么想法吗?我无法将任何内容转到控制台.log const tag = 'lecture'; const eventColour = [ { type: "lecture", colour: "red" }, { type: "social", colour: "blue"

试图在
对象
数组
中查找匹配的
属性
。我无法让我的
查找
来选择
颜色
。有什么想法吗?我无法将任何内容转到
控制台.log

const tag = 'lecture';

const eventColour = [
        {
            type: "lecture",
            colour: "red"
        },
        {
            type: "social",
            colour: "blue"
        },
        {
            type: "break",
            colour: "green"
        }
    ]

eventColour.filter(obj => Object.keys(obj).find(e => obj[e].type == tag))

如果您的目标是使用匹配的
类型
获取对象的
颜色
,则将
查找
与属性访问器结合使用:

const obj = eventColour.find(obj => obj.type === tag);
const colour = obj && obj.colour;
我们需要那个
&
警卫,以防没有匹配的

实例:

const标记='teaching';
常数eventcolor=[
{
类型:“讲座”,
颜色:“红色”
},
{
类型:“社交”,
颜色:“蓝色”
},
{
键入:“中断”,
颜色:“绿色”
}
];
const obj=eventcolor.find(obj=>obj.type==tag);
const color=obj&&obj.color;
控制台日志(标签+“=>”+颜色);
//找不到它的示例:
const tag2=“未找到”;
const obj2=eventcolor.find(obj=>obj.type==tag2);
常量color2=obj2&&obj2.color;
console.log(tag2+“=>”+color2)试试这个

const标记='teaching';
常数eventcolor=[{
类型:“讲座”,
颜色:“红色”
},
{
类型:“社交”,
颜色:“蓝色”
},
{
键入:“中断”,
颜色:“绿色”
}
]
eventcolor.forEach(功能(obj){
if(obj['type']==标记){
console.log(obj['color'])
}

});使用好的旧循环有什么问题

const标签='social';
常数eventcolor=[
{
类型:“讲座”,
颜色:“红色”
},
{
类型:“社交”,
颜色:“蓝色”
},
{
键入:“中断”,
颜色:“绿色”
}
]
for(var i=0;i}
要查找对象,还是创建具有该类型的对象数组,只查找颜色,还是查找具有该类型的颜色?我只需要颜色如果不进行映射,则使用
映射是没有意义的。要仅循环,请使用
forEach
(或循环)。