Javascript 如何检查动态数组是否为空?

Javascript 如何检查动态数组是否为空?,javascript,Javascript,如何检查映射对象是否为空?基本上,我需要做的是检查数据中是否有保险丝阵列?如果没有,那就做点别的 if(e.attributes.display=='Fuses') { if((e.attributes.display == 'Fuses').length == 0){ console.log("No Data For Fuses"); }else{ fuses.push([e.geometry.x,e.geometry.y]); } } v

如何检查映射对象是否为空?基本上,我需要做的是检查
数据中是否有保险丝阵列
?如果没有,那就做点别的

 if(e.attributes.display=='Fuses') {
   if((e.attributes.display == 'Fuses').length == 0){
      console.log("No Data For Fuses");
   }else{
      fuses.push([e.geometry.x,e.geometry.y]);
      }
}
var数据=[{
“displayFieldName”:“”,
“字段别名”:{
“OBJECTID”:“OBJECTID”
},
“字段”:[{
“名称”:“OBJECTID”,
“类型”:“ESRIFELDTYPEOID”,
“别名”:“OBJECTID”
}],
“特点”:[{
“属性”:{
“OBJECTID”:649
}
},
{
“属性”:{
“目标”:665
}
},
{
“属性”:{
“OBJECTID”:762
}
}
]
},
{
“displayFieldName”:“”,
“字段别名”:{
“显示”:“显示”,
“OBJECTID”:“OBJECTID”
},
“geometryType”:“esriGeometryPoint”,
“空间参考”:{
“wkid”:4326,
“最新工作ID”:4326
},
“字段”:[{
“名称”:“显示”,
“类型”:“ESRIFELDTypeString”,
“别名”:“显示”,
“长度”:50
},
{
“名称”:“OBJECTID”,
“类型”:“ESRIFELDTYPEOID”,
“别名”:“OBJECTID”
}
],
“特点”:[{
“属性”:{
“显示”:“变压器”,
“OBJECTID”:1537
},
“几何学”:{
“x”:-88.17602806699995,
“y”:41.78431233100008
}
},
{
“属性”:{
“显示”:“变压器”,
“目标”:1591
},
“几何学”:{
“x”:-88.17546081099994,
“y”:41.783341919000065
}
}
]
},
{
“displayFieldName”:“”,
“字段别名”:{
“显示”:“显示”,
“OBJECTID”:“OBJECTID”
},
“geometryType”:“esriGeometryPoint”,
“空间参考”:{
“wkid”:4326,
“最新工作ID”:4326
},
“字段”:[{
“名称”:“显示”,
“类型”:“ESRIFELDTypeString”,
“别名”:“显示”,
“长度”:50
},
{
“名称”:“OBJECTID”,
“类型”:“ESRIFELDTYPEOID”,
“别名”:“OBJECTID”
}
],
“特点”:[{
“属性”:{
“显示”:“服务点”,
“目标”:13597
},
“几何学”:{
“x”:-88.17599727899994,
“y”:41.7846552610007
}
},
{
“属性”:{
“显示”:“服务点”,
“目标”:13598
},
“几何学”:{
“x”:-88.17595382899998,
“y”:41.78455803400004
}
},
{
“属性”:{
“显示”:“服务点”,
“目标”:13599
},
“几何学”:{
“x”:-88.17582231499995,
“y”:41.78435312600004
}
},
{
“属性”:{
“显示”:“服务点”,
“目标”:13600
},
“几何学”:{
“x”:-88.1756100489994,
“y”:41.784005335000074
}
},
{
“属性”:{
“显示”:“服务点”,
“目标”:13601
},
“几何学”:{
“x”:-88.175576699994,
“y”:41.783931820008
}
},
{
“属性”:{
“显示”:“服务点”,
“OBJECTID”:13602
},
“几何学”:{
“x”:-88.17535967199996,
“y”:41.78352876900004
}
},
{
“属性”:{
“显示”:“服务点”,
“OBJECTID”:13603
},
“几何学”:{
“x”:-88.17534426199995,
“y”:41.78340020400003
}
},
{
“属性”:{
“显示”:“服务点”,
“目标”:13649
},
“几何学”:{
“x”:-88.1745069899995,
“y”:41.78350136200004
}
},
{
“属性”:{
“显示”:“服务点”,
“目标”:13650
},
“几何学”:{
“x”:-88.1743516299999,
“y”:41.783597986000075
}
}
]
}
];
变压器=[];
服务积分=[];
保险丝=[];
data.forEach(函数(el){
el.features.forEach(功能(e){
如果(如属性显示){
if(e.attributes.display=='Transformer'){
变压器.推力([e.geometry.x,e.geometry.y]);
}
如果(例如,attributes.display=='Fuses'){
如果((e.attributes.display='Fuses')。长度==0){
console.log(“保险丝无数据”);
}否则{
熔断器推力([e.geometry.x,e.geometry.y]);
}
}
if(e.attributes.display=='Service Point'){
服务点推送([e.geometry.x,e.geometry.y]);
}
}
});
});

控制台日志(变压器、维修点、保险丝)下面的功能将使用reduce建立一个阵列对象(一个用于保险丝,一个用于服务点,一个用于变压器),并在运行时推入坐标。完成后,您可以轻松检查保险丝阵列是否
。长度===0
,如果是,请执行所需操作

函数过程(){
data.forEach((el)=>{
让数组=el.features.reduce(函数(结果,特征){
if(feature.attributes&&feature.attributes.display){
//获取要用作对象键的显示名称
let key=feature.attributes.display.replace(“,”)
//将坐标推入阵列
结果[key].push([feature.geometry.x,feature.geometry.y]);
}
返回结果;
}, {
//提供带有空数组的默认对象
变压器:[],
保险丝:[],
服务点:[]
});
console.log(数组);
if(arrays.Fuses.length==0){
//在这里做你需要做的。
控制台日志(“无保险丝”);
}
});
}
风险值数据=[{
“displayFieldName”:“”,
“字段别名”:{
“OBJECTID”:“OBJECTID”
},
"
data.forEach(function(el) {
  var hasFuses = el.features.some((e) => e.attributes.display === 'Fuses');
  console.log('has: ' + hasFuses);

  el.features.forEach(function(e) {
    if (!hasFuses) {
      console.log("No Data For Fuses");
    }
    switch (e.attributes.display) {
      case 'Transformer':
        transformers.push([e.geometry.x, e.geometry.y]);
        break;
      case 'Fuses':
        fuses.push([e.geometry.x, e.geometry.y]);
        break;
      case 'Service Point':
        service_points.push([e.geometry.x, e.geometry.y]);
        break;
    }
  });
});

console.log(transformers, service_points, fuses);