Я хочу отсортировать данные по json по возрастанию, у которых есть название, цена. хочу сортировать по цене.Сортировка с использованием d3js
Это мои данные json, которые используются в d3js.
var data = [
{"title":"ACER Aspire DQ.SP3EK.001 ZS 605 Refurbished 19.5\u201d All-in-One PC",
"price":"<549.99"},
{"title":"LENOVO C540 23\u201d Touchscreen All-in-One PC","price":"699.99"},
{"title":"ACER Aspire V5-122P 11.6\u201d Touchscreen Laptop/u2013silver","price" :"499.99"},
{"title":"HP Pavilion 15-n097ea 15.6 Laptop \u2013 Goji Berry","price":"429.99"},
{"title":"SONY Vaio Fit 15 E SVF1521A1EW.CEK 15\u201d Laptop \u2013 White","price":"399.99"}
]
я сделал до сих пор:
var container = gallery.selectAll('.searchcontainer')
.data(data, function(d) { return d.title; });
container.enter().append('div')
.attr('class', 'searchcontainer')
container.exit().remove();
container.selectAll('ttl')
.data(function(d) { return [d]; })
.enter().append('div')
.attr('class', 'ttl')
.style('float','right')
.style('margin-top','-20px')
.style('margin-right','20px')
.style('width','80%')
.html(function(d) { return d.title; });
container.selectAll('.pricess')
.data(function(d) { return [d]; })
.enter().append('div')
.attr('class', 'pricess')
.style('float','right')
.style('width','10%')
.style('margin-bottom','10px')
.sort(d3.ascending())
.html(function(d) { return d.price; });
Вам понадобится '.sort (d3.ascending (function (d) {return d.price;}))', но это не будет корректно работать со строкой. Я бы рекомендовал иметь только фактическое число в вашем JSON, а затем делать форматирование в другом месте. –
Да, я пробовал это, но это не сработало для меня, у меня почти 40 записей в json. – Mayur
Как я уже сказал, попробуйте иметь цену только как номер. Количество записей не имеет значения. –