Я хочу преобразовать первый элемент в int, как показано ниже.
[["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]]
как лучше всего это сделать? Я пытался использовать карту, но безуспешно.
Я посмотрел на это, первый элемент кажется значением, которое вы не показываете, что определяет его в вашем вопросе. Учитывая вашего представителя, я не знаю, почему вы не указываете, как должен определяться первый элемент на выходе?
Что заставляет "bad" становиться 0, что заставляет "great" становиться 2? Возможно, покажите свой Я пытался использовать карту, но безуспешно.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


ddd — это строка, поэтому "ddd". ratings — это фильтрующий массив, когда найдено совпадение с .indexOf(), он возвращает порядковый номер:
sub[0] = ratings.indexOf(sub[0]);
// Utility function
const log = data => console.info(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);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];
});
Благодарю вас ! это было именно то, что мне было нужно!
первый элемент массива является индексом массива? Я запутался 0, 2, 1, 2 данные