Hola, he estado trabajando todo el día en una solución, pero no lo he descubierto. Tengo una llamada $.ajax que estoy recorriendo e imprimiendo los valores que quiero. Eso se ha hecho, mi problema es una matriz var que he asignado, sin embargo, no puedo manipularla antes de mostrarla. Dentro de la función de éxito, inicio un ciclo for y asigno los valores de la matriz var. Si no los manipulo, el programa continúa; sin embargo, cuando agrego alguna manipulación, se atasca. Estoy tratando de reemplazar \s chars por _ chars pero ningún tipo de manipulación o el titl[i] ha funcionado. Soy bastante nuevo en JS, por lo que podría haber algo que me estoy perdiendo, ¡realmente agradecería alguna información! salud.
success: function (x) { var titl = []; var len = x.query.search.length; $('.entries').html(""); for (var i = 0; i < len; i++) { titl[i] = x.query.search.title.split(' ').join('_'); //want to manipulate titl[i] here ************************* $('.entries').append('<div class="row"><div class="col-md-12">' + x.query.search[i].title + '<br>' + x.query.search[i].snippet + '</div></div>');Por favor, compruebe el código a continuación con comentarios en él.
success: function (x) { var titles = [], // Do you need them as an array? search = x.query.search, searchItem, title = '', len = search.length, $entries = $('.entries'), // Keep the reference in a variable html = []; // You can just remove all content of entries $entries.empty(); for (var i = 0; i < len; i++) { // Missing the search index? searchItem = search[i]; // Use push instead and keep title as reference so you can use later on title = searchItem.title.split(' ').join('_'); titles.push(title); // Don't append just yet html.push('<div class="row"><div class="col-md-12">'); html.push(title); html.push('<br>'); html.push(searchItem.snippet); html.push('</div></div>'); } // Instead append, just use HTML $entries.html(html.join('')); }