javascript - 想判断对象中的数组中的length都为0
高洛峰
高洛峰 2017-04-11 12:54:32
[JavaScript讨论组]

通过AJAX传递数据,后台返回的数据差不多这样
{"data": [{"name": "Jack","age": 18,"time": []},

      {"name": "Rose","age": 20,"time": []},
      {"name": "Joy","age": 21,"time": []}],

"msg":null,
"resule":true
}
我现在要判断其中的time,如果所有time的length都为0,就在页面中显示“没有匹配数据”,如果任意一个time里有数据,都把数据显示出来,请问怎么判断啊

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(5)
PHP中文网

for(var i=0;i<data.length;i++){

var person=new arry();  
person=data[i];
for(var x=0;x<person.length;x++){
    if(person[2].value==""){
        person[2].value="没有匹配数据";
    }
}

}
试试看吧。

PHP中文网
var show=data.some(function(item,index,array){
  return item.time.length;
});

只要有一个time有数据,show就为true;否则false.

迷茫
  var flag = false
    
  for(var i=0;i<data.length;i++){    
    var item = data[i]
    var item_time = item.time
    //有数据
    if(item_time.length){    
        flag = true
    }
  }
  
  alert(flag)
怪我咯
// 暂且你需要的数据格式是'am=8,pm=9'这种吧
data.data.map(function(v) {
  if(v.time.length) {
    var time = v.time;
    return time.map(function(t) {
         return 'am='+t.am+',pm='+t.pm
    }).join('');
  }
}).join('') || '没有匹配数据';
伊谢尔伦

最后还是自己循环解决了,获取time的length,push进一个自己定义的数组中,最后判断数组中的数字sum是否等于0,如果是就返回true,否则就false

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号