如何知道jquery数组中是否存在特殊值

时间:2018-03-30 10:21:52

标签: javascript jquery

$.each(date_range, function(kr, time) {
    alert('time' + '=>' + time)
    alert(data_d.indexOf(time) != -1);
    if (time == timestamp) {

        data_d.push([timestamp, v.kreditbetrag]);
    } else {
        data_d.push([time, 0]);
    }
});

但是我看到每次都在第二次警告错误而我在date_range中有相同的时间也许是因为data_d数组在元素对时间和值中有。我怎么知道data_d数组中是否已存在时间?

obj = {0:[kreditbetrag:1300,datum:'2018-03-30'],1:[kreditbetrag:2600,datum:'2018-03-29']};
date_range=[1521763200000, 1521849600000, 1521936000000, 1522022400000, 1522108800000, 1522195200000, 1522281600000, 1522368000000]
data_d=[];
$.each( obj, function( key, value ) {
$.each(value, function(k, v) {
  var timeStamp = function(str) {
    return new Date(str.replace(/^(\d{2}\-)(\d{2}\-)(\d{4})$/,
      '$2$1$3')).getTime();
  };
  timestamp = timeStamp(v.datum);
  

  $.each(date_range, function(kr, time) {
    alert(data_d.indexOf(time) != -1);
    if (time == timestamp) {
      data_d.push([timestamp, v.kreditbetrag]);
    } else {
      data_d.push([time, 0]);
    }

  });

});
});
console.log(data_d);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:0)

这是你想要达到的目标吗?如果没有,请在评论中写下你想要的不同,我会尝试改变它。

&#13;
&#13;
obj = {
  0: {
    kreditbetrag: 1300,
    datum: '2018-03-30'
  },
  1: {
    kreditbetrag: 2600,
    datum: '2018-03-29'
  }
};

date_range = [1521763200000, 1521849600000, 1521936000000, 1522022400000, 1522108800000, 1522195200000, 1522281600000, 1522368000000];

data_d = [];

var timeStamp = function(str) {
  return new Date(str.replace(/^(\d{2}\-)(\d{2}\-)(\d{4})$/,
    '$2$1$3')).getTime();
};

$.each(obj, function(key, value) {
  timestamp = timeStamp(value.datum);

  $.each(date_range, function(kr, time) {
    if (time == timestamp) {
      data_d.push([timestamp, value.kreditbetrag]);
    } else {
      data_d.push([time, 0]);
    }
  });
});
console.log(data_d);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;