Я пытаюсь автоматически преобразовать все данные CSV в число, за исключением одного поля, которое необходимо преобразовать во время.первый цикл foreach получает каждую строку данных, а второй цикл foreach получает имя каждого столбца и преобразует строку [column_name] в числа.Однако во втором цикле объект строки d больше не доступен?Кто-нибудь знает почему?
с использованием d3 v4
//d is not accessible in the second for each
data.forEach(function(d) {
d.year = parseTime(d.years);
data.columns.forEach(function (item, index) {
if(item != "years") {
d[item] = + d[item];
}
})
});
обновление 1: образцы CSV-файлов
years,Bayview,Bernal_Heights,Castro_Upper_Market,Chinatown,Crocker_Amazon,Diamond_Heights,Downtown_Civic_Center,Excelsior,Financial_District,Glen_Park,Golden_Gate_Park,Haight_Ashbury,Inner_Richmond,Inner_Sunset,Lakeshore,Marina,Mission,Nob_Hill,Noe_Valley,North_Beach,Ocean_View,Outer_Mission,Outer_Richmond,Outer_Sunset,Pacific_Heights,Parkside,Potrero_Hill,Presidio,Presidio_Heights,Russian_Hill,Seacliff,South_of_Market,Treasure_Island_YBI,Twin_Peaks,Visitacion_Valley,West_of_Twin_Peaks,Western_Addition
2010,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36
обновление 2: Я повторил точное обстоятельство, когда в отладчике произошла недоступность
, d доступен только из внешнего цикла