Можно ли использовать операторы if в пределах .nest()
? Я пытаюсь заполнить столбец несколькими ключами, но вместо поиска имени я хочу назначить имя / значение отдельным строкам на основе того, находится ли значение в столбце в определенном диапазоне чисел. Я посмотрел учебник по D3 Nest и примеры, и мне все еще трудно. Это код, который у меня есть на данный момент, который не работает. Любая помощь будет принята с благодарностью!
fireballData.forEach( d => {
years.forEach(year => {
const latitude = d['Latitude (deg.)'];
const impactEnergy = d['Calculated Total Impact Energy (kt)'];
const impactTest = +impactEnergy;
const impactLevel = nest('impactTest')
.key(function(d) { if (d.impactTest < .5) {return "impactA" }});
// .sortKeys(d3.ascending)
// .key(function(d) { return d.impactEnergy; })
// .sortKeys(function(a,b) {
// return impactEnergy.indexOf(a) - impactEnergy.indexOf(b); })
// .sortValues(function(a,b) { return ((a.who < b.who)
// ? -1
// : 1);;
const longitude = d['Longitude (deg.)'];
const impactYear = d['PeakBrightnessDate_TimeUT'];
const row = {
//year,
impactLevel,
impactEnergy,
latitude,
longitude,
impactYear
};
console.log(row);
});
});
Просто чтобы быть более понятным, я хочу назначить пять или шесть уровней воздействия для столбца impactLevel в зависимости от того, какое значение имеет значение effectEnergy. Затем в каждой строке будет указан идентификатор ImpactLevel (ie ImpactLevel1), за которым следуют остальные данные этого объекта. Любые решения или предложения приветствуются! Я все еще очень плохо знаком с d3, и я все еще изучаю входы и выходы.