首页 > 解决方案 > 如何检查我的对象是否存在于 javascript 地图中?

问题描述

这是我的地图:

  return (data.map(obj => `<div style="border-color:${obj.category.color}" class="circle"></div>  ${obj.name}`)).join('<br>');

它运行良好,但在某些情况下,obj.category不会退出。如果它不存在,我只想返回:

  return (data.map(obj => `${obj.name}`)).join('<br>');

我试过了

var validate = data.map(obj => obj.category));

if(validate){
      return (data.map(obj => `<div style="border-color:${obj.category.color}" class="circle"></div>  ${obj.name}`)).join('<br>');
} else {
  return (data.map(obj => `${obj.name}`)).join('<br>');
}

问题是我无法创建变量validate,因为加载页面时出现控制台错误:

类型错误:obj.category 未定义

如果已定义,我无法进行验证

标签: javascriptvalidationobject

解决方案


data.map(obj => obj.category);将返回真实的数组。
您可以使用三元运算符

return (data.map(obj => obj.category ? `<div style="border-color:${obj.category.color}" class="circle"></div>  ${obj.name}` : `${obj.name}`)).join('<br>');

推荐阅读