Я хочу создать несколько SVG полилинии из структуры, которая у меня есть:ES6/Машинопись способ создания полилинии из массива
data = [item0, item1, ...., item50]
item0 = {y1: 10, y2: 100, ...[other properties]...}
item1 = {y1: 1000, y2: 50, ...}
item2 = {y1: 500, y2: 40, ...}
Так структура представляет собой массив из элементов, где один элемент имеет несколько значений Y , Значение x определяется путем итерации по структуре (x * 10).
Выходной сигнал должен быть строкой для каждого "Y", как это: "х0, у1 [0] x1, y1 [1] x2, y1 [2] ..."
polyLine1 = "0,10 10,100 20,500..."
polyLine2 = "0,1000 10,50 20,40 ..."
Я может сделать это с underscore.js или что-то подобное, как это:
polyLine1 = "";
_.each (data, function(item, index){
polyLine1 += "" + index*10 + "," + item.y1
}
polyLine2 = "";
_.each (data, function(item, index){
polyLine2 += "" + index*10 + "," + item.y2
}
Что я ищу это более разумный способ для инициализации полную структуру вывода с помощью лямбда/стрелка синтаксис:
this.polyLines = {
polyLine1 = ...,// iterate data, pick y1 property, map x and y, reduce/join to a string
polyLine2 = ...,
}
Для справки, я использую TypeScript с Ionic2 (Angular2). Я знаю, что могу сделать это с привязкой к шаблону (что, вероятно, было бы медленнее и менее читаемо), но я просто хочу учиться.
Есть ли способ показать реальные данные? Я бы ожидал чего-то большего, чем 'data = [{y1: 10, y2: 100}, {y1: 11, y2: 101}]', а затем что именно это должно произвести, потому что вы говорите сначала, что хотите строку, но тогда у вас есть эта структура 'lines' ... –
Я получаю несколько значений АЦП с доски через последовательный порт, каждую секунду или около того. Они варьируются от 0 до 1024. Я хочу отображать последние 50 из них на диаграмме. Линии - это полилинии, по одному для каждого входа АЦП. – brainwash
Идти мета здесь, но я не понимаю, почему кто-то мог бы это сделать. Речь идет о преобразовании некоторого «старого» стиля кода underscore.js в новый стиль на основе лямбда. Теги svg и polylines были предложены редакциями, которые я одобрил. – brainwash