Tengo una lista de hrefs con datos del producto: nombre y su identificación. En primer lugar, eliminé la identificación del producto que usaré como variable separada. Después de esto, la parte restante de href debe usarse como nombre del producto.
var prodHref = document.querySelectorAll('.widget-products-list-item-label'); var allHref = []; for(var i=0;i<prodHref.length;i++){ allHref.push(prodHref[i].href.split('/')[5]) } var prodName = []; for(var i=0;i<allHref .length;i++){ prodName.push(allHref [i].slice(0, -1)) } var prodNameNew=[]; for(var i=0;i<prodName .length;i++){ prodNameNew.push(prodName[i].slice(0, -1)) }
Entonces, el resultado final está en la pantalla adjunta. norte
Cómo he concatenado todos los elementos de cada matriz para obtener nuevas matrices en el siguiente formato: Nokia G20 4 64 Albastru, Motorola G60 gri, etc. Gracias.
Desea poner en mayúsculas los elementos de las matrices internas y luego unirlos por espacio.
Una forma de hacerlo es:
let result = arr.map(a => a.map(capitalize)) .map(a => a.join(" "))
donde capitalize
debería ser una función que toma una cadena y devuelve una cadena con la primera letra en mayúsculas si es posible. Puede encontrar esto en las respuestas a la pregunta SO más específica: ¿Cómo hago que la primera letra de una cadena esté en mayúscula en JavaScript?
En lugar de 3 bucles separados, podemos obtener la subcadena basada en una sola iteración solo usando Array.map() junto con String.slice() .
const prodHref = [{ href: "https://abc/def/ghi/alpha/mno" }, { href: "https://abc1/def1/ghi1/beta/mno1" }, { href: "https://abc2/def2/ghi2/gamma/mno2" }, { href: "https://abc3/def3/ghi3/omicron/mno3" }]; const allHref = prodHref.map((obj) => obj.href.split('/')[5].slice(0, -2)); console.log(allHref);
Ahora puede usar el método Array.join() para unir la matriz de resultados.
const allHref = ["alp", "be", "gam", "omicr"]; console.log(allHref.join(" "));