Создайте переменную, содержащую только один столбец массива

#javascript #arrays #discord.js

#javascript #массивы #discord.js

Вопрос:

После выполнения Sql-запроса у меня есть массив, который выглядит так, как показано ниже.

Я хотел бы получить только столбец «name» таким образом, чтобы имена были такими:

«Name1, Name2, Name3».

Я понятия не имею, как это сделать, я посмотрел в Интернете, но не нашел ничего убедительного.

Есть ли у вас какие-либо идеи, как извлечь все данные из столбца «имя»? Заранее благодарю.

 Array =
[1] {
    id_idx: 1,
    hero_order: 0,
    name: 'Nom1'
},
[2] {
    id_idx: 1,
    hero_order: 0,
    name: 'Nom2'
},
[3]  {
    id_idx: 1,
    hero_order: 0,
    name: 'Nom3'
}
 

Я забыл одну информацию: массив берется из SQL-запроса rows2[].name .

Участник stackoverflow посоветовал мне сделать это, но это не сработало, visual Studio возвращает мне сообщение об ошибке; «TypeError: не удается прочитать свойство ‘map’ неопределенного»

        const result = rows2;
       const outputArray = result.map((singleResult) => singleResult.name);
       const outputString = outputArray.join(",");
       const names = rows2.map(a => a.name);

       console.log(names);
 

Комментарии:

1. когда вы выполняете console.log результат, что вы получаете в консоли?

2. Я получаю «TypeError: не удается прочитать свойство ‘map’ неопределенного» и сбой: (

3. Вы запустили консоль и увидели значение result ? Сообщение об ошибке, в котором говорится, что result это неопределенное значение

Ответ №1:

Если у вас "TypeError: Cannot read property 'map' of undefined" ошибка, вы можете принудительно result преобразовать переменную в массив, выполнив

 Array.from(result).map(singleResult => singleResult.name);