Валежи по държави, част 1. „Проектът „Code Cakes“
Код
https://github.com/codetricity/codecakes-rainfall/tree/master/lessons/01
Започнете нов проект
Създай index.html
Създайте тези подпапки: js
, data
Поставете d3.js
в папката js
. Създайте main.js
в папката js
Добавете връзки в index.html
към d3.js
и main.js
Вземете данните
Копирайте данните от сайта по-долу и ги поставете в Google Sheet.
Организирайте данните в Google Sheet. Добавете заглавки на колони
Наблюдавайте проблем с данните
Колона A има името на държавата с число пред него. Въпреки че е възможно ръчно да редактирате 50 клетки в електронната таблица, ние ще изтеглим данните за проблема и ще използваме JavaScript substring()
, за да премахнем знаците пред името на държавата.
Изтеглете като стойности, разделени със запетая
Ще експортираме данните като CSV файл и ще ги обработим с JavaScript.
Запазване в data/rainfall-by-state.csv
Зареждане на файл
- прочетете с помощта на
d3.csv(
Съвет: поставете името на файла в скобите. Свържете „обещание“ с.then()
. Поставете успешната анонимна функция за обратно извикване вътре в скобите за.then
- използвайте
console.log
, за да видите съдържанието
Ако има проблем с CORS, стартирайте Fenix web server или малък Python уеб сървър с python -m SimpleHTTPServer
Отговорът е под графиката.
Настройте forEach
цикъл
data
е масив от обекти. Преминете през масива сdata.forEach(...
- Използвайте променливата
stateData
, за да задържите временно всеки обект, докато цикълът обработва всеки елемент от масива. (Всеки елемент е обект). - Можете да получите достъп до стойността на свойствата с
stateData.rainfall
иstateData.state
- Преобразувайте стойността на низа за свойство валеж в число, като използвате техниката
+
. Пример:stateData.rainfall = +stateData.rainfall
- Преместете линията
console.log(data
под края на цикълаforEach
Отговорът е под графиката.
Изтрийте числата, точките и интервалите от низа на състоянието
- Потърсете знаци, които не са от „A“ до „Z“, като започнете от първия знак и преминете през първите пет знака
- Ако символът не е A-Z, изтрийте го от началото на низа
- Ако знакът е от A до Z, сте намерили началото на името на държавата. Излезте от for цикъла.
За да проверим за знаци A-Z, използваме странен тип съвпадащ синтаксис, наречен „регулярни изрази“ или „regexp“.
Основните точки на този доста объркващ синтаксис:
- изразът е между
/
^
търси съвпадение в началото на низ[A-Z]
търси главни азбуки.test(string)
се използва за търсене на съвпадение
Преглед на концепциите на JavaScript
за преглед на изявление
- за (нека i = 0; i ‹ array.length; i++)
- array.forEach() — break не работи
- за…в — само за обекти
- for…of — може да използва прекъсване
Следващ урок
„Разделете голям набор от данни на по-малки набори от данни“
Информация за проекта на Code Cakes
- "Въведение"
- YouTube
- "Публикация"