Quiero convertir el primer elemento a un int como el siguiente
[["bad", ddd, 2.0, 1.0], ["great",ddd , 3.0, 1.0], ["fair",ddd , 4.0, 1.0], ["great",ddd , 5.0, 1.0]]
↓
[[0, ddd, 2.0, 1.0], [2,ddd , 3.0, 1.0], [1,ddd , 4.0, 1.0], [2,ddd , 5.0, 1.0]]
¿Cuál es la mejor manera de hacer esto? Intenté usar el mapa pero no tuve éxito.
const map = new Map(); map.set("bad", 0); map.set("great", 2); map.set("fair", 1); const param = [["bad", 'zzz', 2.0, 1.0], ["great",'ddd' , 3.0, 1.0], ["fair",'ddd' , 4.0, 1.0], ["great",'ddd6' , 5.0, 1.0]]; param.map(([a,b,c,d]) => { return [map.get(a), b, c, d]; });ddd es una cadena, entonces "ddd" . ratings es una matriz de filtrado, cuando se encuentra una coincidencia con .indexOf() devuelve un número de índice:
sub[0] = ratings.indexOf(sub[0]); // Utility function const log = data => console.log(JSON.stringify(data)); const data = [ ["bad", 'ddd', 2.0, 1.0], ["great", 'ddd', 3.0, 1.0], ["fair", 'ddd', 4.0, 1.0], ["great", 'ddd', 5.0, 1.0] ]; const ratings = ["bad", "fair", "great"]; const result = data.map(sub => { sub[0] = ratings.indexOf(sub[0]); return sub; }); log(result);