2016-07-07 1 views
0

Это мой код до сих пор (с использованием crossfilter.js) ...Изменение объекта Key

function getCount(){ 
votersByDMA = voter_data.dimension(function(d) {if (d.dma === 'Burlington-Plattsburgh'){return 1} else {return 0}}); 
votersInDMA = votersByDMA.group().reduceCount(); 
voterCount = votersInDMA.all()[0].value; 
console.log(votersInDMA.all()); 
console.log('value:' + voterCount); 

}

и он console.logs это

0: Object 
key: 0 
value: 2 
__proto__ 
1: Object 
key: 1 
value: 10406 

Я хочу изменить ключ, поэтому требуется свойство dma данных, чтобы оно было консольным.

0: Object 
key: Madison, WI 
value: 2 
__proto__ 
1: Object 
key: Burlington, VT-Plattsburgh, NY 
value: 10406 

ответ

0

Не можете ли вы изменить свой аксессуар измерения, чтобы вернуть строку вместо числа?

var votersByDMA = voter_data.dimension(function(d) { 
    return d.dma; 
}); 

Или, если вы хотите, чтобы гарантировать два ведра, 'Burlington-Plattsburgh' и 'Other':

var votersByDMA = voter_data.dimension(function(d) { 
    return d.dma === 'Burlington-Plattsburgh' ? 
     d.dma : 'Other'; 
}); 
+0

данных я использую много разных зоны управления дефектами, что я пытаюсь сделать, это использовать crossfilter группе набор данных по имени DMA, а затем получить счет каждого из них. Таким образом, ключ должен быть имя ДМА и значение должно быть счетчик так выглядит .... Object 0: ключ: Madison, WI значение: 123 Объект 1: ключ: Burlington, УТ- Plattsburgh, Нью-Йорк значение: 333 Объект 3: ключ: Роанок, В. А. значение: 555 и т.д. – captnvitman

+0

я понял это, спасибо за поставив меня на правильном пути! Я сделал это ..... votersByDMA = voter_data.dimension (function (d) {if (d.dma_name) {return d.dma_name} else {return 0}}); – captnvitman

Смежные вопросы