微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在jquery中创建一个数组,并检查它是否是一个元素

如何解决在jquery中创建一个数组,并检查它是否是一个元素

|| 使用ajax和json获取一些数据后,我有了此功能
    if(data.length != 0) {
        var arreglo = new Array();
        $.each(data,function(index,data) {
            if (jQuery.inArray(data.id,arreglo) == -1) {
                arreglo.push(data.id);
                $(\"#envivo\").append(\"<li>Titulo: \" + data.titulo + \" Link: \" + data.link + \" Fuente: \" + data.fuente + \"</li>\");
            }
        });
    }
}
$(document).ready(function() {
    var fecha = Math.round((new Date()).getTime() / 1000);
    setInterval(function() {
        $.ajax({
            data: \"fecha=\"+fecha,type: \"GET\",dataType: \"json\",url: \"data.PHP\",success: function(data){
                restults(data);
            }
        });
    },5000);
});
我正在尝试做什么 检查是否从ajax检索了任何数据 创建一个数组来存储data.id 从ajax内部循环数据 检查data.id是否在[2]中创建的数组中 如果id不在数组中,我将其保存到并封装一些数据
step 4
不起作用,是5的一部分(保存到数组中) 有任何想法吗? 提前致谢     

解决方法

inArray函数使用身份比较运算符(===)。 如果数据将id作为字符串返回,但您要解释的是数字,则将导致问题。 \“ 9 \” ==== 9 <-错误 \“ 9 \” == 9 <-正确     ,我已经尝试过您的代码,并且效果很好: http://jsfiddle.net/Jfq6d/ 您必须检查所获得的数据是否确实符合您的期望。例如,您可以使用Firefox的FireBug插件中的“网络”选项卡来检查在AJAX调用中获得的响应。 编辑: 要重用该函数,必须在函数外部创建数组:
var arreglo = [];

function restults(data) {
  if(data.length != 0) {
    $.each(data,function(index,data) {
      if (jQuery.inArray(data.id,arreglo) == -1) {
        arreglo.push(data.id);
        $(\"#envivo\").append(\"<li>Titulo: \" + data.titulo + \" Link: \" + data.link + \" Fuente: \" + data.fuente + \"</li>\");
      }
    });
  }
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。