Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2019, 18:42
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Записать массив в многомерный массив
В localStorage храниться строка вида: ["Black","White"]
Получаю значения:
var localStorageLabels = JSON.parse(localStorage.getItem('labels')||'[]');
Дальше я хочу значения из массива localStorageLabels добавить в chartJS:
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: [], // сюда необходимо добавить значения
        datasets: [{
            label: '# of Votes',
            data: ["12","11"],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});

Я пробовал добавить через map(), но не работает - массив остаётся пуст. Как я пробовал:
myChart.data.labels.map(function(localStorageLabels){
    return localStorageLabels;
});

Подскажите как добавить значения из массива в многомерный массив. Спасибо

Последний раз редактировалось CryNet, 17.01.2019 в 18:49.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2019, 18:52
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

myChart.data.labels = localStorageLabels;
localStorageLabels.forEach(function(label){
  myChart.data.labels.push(label);
});
localStorageLabels.push.apply(myChart.data.labels, localStorageLabels);
myChart.data.labels.push(...localStorageLabels);
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2019, 18:57
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Сообщение от Aetae Посмотреть сообщение
myChart.data.labels = localStorageLabels;
Чёрт. Что-то я про это сразу не подумал.

Вот ещё что. У меня получается, что в myChart.data.labels добавляется значение такого вида: "["Black","White"]", хотя мне нужно только "Black", "White"
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2019, 19:23
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Значит в localStorage у вас что-то не то.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2019, 19:27
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Сообщение от Aetae Посмотреть сообщение
Значит в localStorage у вас что-то не то.
Разобрался. Когда не работает и начинаешь пробовать и так, и сяк, иногда забываешь удалить вот эти самые "пробы". Не заметил как оставил строчку, которая массив парсит строку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать значения DIV в массив allonemoon Events/DOM/Window 3 06.08.2016 05:18
Записать значения DIV в массив allonemoon Events/DOM/Window 0 06.08.2016 01:23
Добавление данных в многомерный массив rneft Элементы интерфейса 11 28.03.2016 17:56
ajax и многомерный массив cat9 AJAX и COMET 1 03.10.2010 15:25
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14