Imagen de los valores de mi matriz Tengo una función para "Miércoles 12/8" y "Miércoles 12/8". Sin embargo, cuando los uso en esta función no son iguales por alguna razón, pero son idénticos. La función no agrega y actúa como si fueran completamente diferentes.
function filterDate() { for (var i = 0; i < dateList.length; i++) { if(dateList[i] == today) { appendItem(filteredDate, dateList[i]); appendItem(filteredID, stateID[i]); appendItem(filteredCase, totalCases[i]); appendItem(filteredState, usState[i]); } } }Aquí el código de fecha de obtención.
//Date var now = new Date(); //Gets the current days date var days = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; var months = ['1','2','3','4','5','6','7','8','9','10','11','12']; var weekday = days[now.getDay() - 1]; var day = now.getDate() - 1; var month = months[now.getMonth()]; var today = weekday + " " + month + "/" + day; //Console logs todays date console.log(today);Los valores son exactamente los mismos, pero la computadora piensa que no lo son. Cuando cambio manualmente hoy a "Miércoles 12/8", funciona, pero la variable parece estropearlo, aunque puedo estar equivocado. ¿Qué sucede y cómo soluciono esto, ya que es crucial para mi programa?
El problema debería ser la forma en que llena la matriz dateList. ¿Estás seguro de que también se llena con cadenas y no, por ejemplo, con objetos de fecha? El código que proporcionó no muestra nada relacionado con esa matriz.
Editar: según la imagen que proporcionó más adelante, creo que el problema será que sus cadenas en la matriz contienen comillas.
Quítalos de las cuerdas. (Por ejemplo, cortando el primer y el último carácter en la función filterDate )
function filterDate() { for (var i = 0; i < dateList.length; i++) { if(dateList[i].slice(1,-1) == today) { appendItem(filteredDate, dateList[i]); appendItem(filteredID, stateID[i]); appendItem(filteredCase, totalCases[i]); appendItem(filteredState, usState[i]); } } }