我想分配一個返回值給一個數組中的元素,出於某種原因,它將數組中的兩個元素覆蓋爲相同的值而不是第二個元素。JavaScript - 分配數組索引返回值不工作
我正在使用的datepicker可以在這裏找到,僅供參考。
http://www.eyecon.ro/datepicker/
function AddDays(date, days)
{
var newDate = new Date(date.setTime(date.getTime() + days * 86400000));
return newDate;
}
$('#nights').on('change', function(){
var $dp = $('#date');
var t = $dp.DatePickerGetDate();
console.log(t); // Output 1
t[1] = AddDays(t[0], $(this).val());
console.log(t); // Output 2
});
輸出1:星期一2017年1月2日00:00:00 GMT-0600(中部標準時間),太陽2017年1月8日23:59:59 GMT-0600(中部標準時間)]
輸出2:星期一2017年1月9日00:00:00 GMT-0600(中部標準時間),星期一2017年1月9日00:00:00 GMT-0600(中部標準時間)
正如您所看到的,當我嘗試將第二個元素t[1]
指定爲等於的返回值時兩個日期都設置相同的確切日期。但是,第二個元素應該等於第一個元素加上指定的天數。
我還驗證了元素$(this).val()
不爲零。在我的情況下,實際上返回7,當我在t[1]
的任務之前運行console.log($(this).val());
。
我在這裏做錯了什麼?
你能否創建一個工作示例? – Dekel
在將它傳遞給'Date'構造函數之前,你正在改變原始日期,所以它們自然會在同一時間結束。刪除'd.setTime()'。 – 2016-12-30 20:26:45