在Jquery中构造和获取数组

时间:2014-12-27 17:52:12

标签: javascript jquery

我创建了一个计算两个日期之间星期差异的函数。用户必须选择周六或周日(周开始和结束)下一步,是让文档创建

元素在所选范围内每周枚举一次。

这是我的JSFiddle

http://jsfiddle.net/jafaoej5/1/

var $arr = [];
while(lowEnd <= totalweeks.innerHTML){
    arr.push(lowEnd++);}

console.log( $( "arr" ).get()) ;
    });

这是我试图用来控制日志总数的一些代码。从那里我将进行数学运算以使用UTC时间执行转换操作。问题是我无法获得我的阵列。我怎样才能得到我的阵列?

2 个答案:

答案 0 :(得分:2)

您正在创建$arr但是正在推进arr ??

我认为这应该是:

var $arr = []; // Or just use 'arr' instead of '$arr'

while (lowEnd <= totalweeks.innerHTML) {
  // The above 'while' also needs modification because you're using lowEnd
  // as an integer whereas innerHtml will return a string
  // MAYBE this is what you want:
  // var totalWeeks = parseInt(totalweeks.innerHTML) || 0;
  // while (lowEnd <= totalWeeks) {}

  $arr.push(lowEnd++);

  console.log($arr);
});

至于get()功能,我不知道你要做什么。

答案 1 :(得分:-1)

如果你想要几周的差异,你可以做到这一点:

var firstDate = new Date("7/11/2010"); // get those through datepicker
var secondDate = new Date("12/12/2010");

// calculate difference in timestamp (miliseconds)
var timestampDiff = Math.abs(secondDate.getTime() - firstDate.getTime());
// convert the difference into weeks, use ceil to round up (started weeks), use floor to roun down (full weeks)
var weeksDiff = Math.ceil(timestampDiff / (1000 * 3600 * 24 * 7)); 

console.log(weeksDiff)​;

至于数组:$arrarr不一样,我建议在命名对象变量时使用$,所以在这种情况下arr是更好。

使用innerHtml来限制oyor循环并不是一个好主意,因为如果它不是数字,你将会收到错误。

// declare an array
var arr = [];
while(lowEnd <= parseInt(totalweeks.innerHTML)){
    arr.push(lowEnd++);}
});
// print it once it's complete
console.log(arr);