JSFiddle - React, Tailwind, and code Playground

by prozoroff

JavaScript

var a = {
                "width": 1124.2799999999997,
                "height": 23.4,
                "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
                "delimiter": {"text": " ", "width": 6.02},
                "parts": [{"text": "Lorem", "width": 56.14000000000001}, {
                    "text": "ipsum",
                    "width": 52.46
                }, {"text": "dolor", "width": 46.30000000000001}, {"text": "sit", "width": 21.72}, {
                    "text": "amet,",
                    "width": 53.26
                }, {"text": "consectetur", "width": 105.90000000000002}, {
                    "text": "adipiscing",
                    "width": 88.84
                }, {"text": "elit,", "width": 37.76}, {"text": "sed", "width": 30.14}, {
                    "text": "do",
                    "width": 21.88
                }, {"text": "eiusmod", "width": 74.1}, {"text": "tempor", "width": 65.08}, {
                    "text": "incididunt",
                    "width": 89.96000000000002
                }, {"text": "ut", "width": 18.84}, {"text": "labore", "width": 56.959999999999994}, {
                    "text": "et",
                    "width": 18.82
                }, {"text": "dolore", "width": 57.2}, {"text": "magna", "width": 58.55999999999999}, {
                    "text": "aliqua.",
                    "width": 61.99999999999999
                }]
            };



function getPossibleBreaks(obj){
	var result = [],
  parts = obj.parts,
  	length = parts.length;    

	for(var i = 0; i < length; i++){
  	var sum = 0;
  	for(var j = i; j < length; j++){
  		sum += parts[j].width;
      if(result.indexOf(sum) < 0){
      	result.push(sum);
      }
      sum += obg.delimiter.width;
      if(result.indexOf(sum) < 0){
      	result.push(sum);
      }
  	}
  }
  return result.sort(function(a, b) {
  	return a - b;
	});
}


    alert(getPossibleBreaks(a));