JSFiddle - React, Tailwind, and code Playground

by Farzad YZ

JavaScript

function arrayToGraph(array) {
  return array.reduce((graph, item) => {
    return { ...graph,
      [item]: array.reduce((itemsList, innerItem) => {
        if (innerItem !== item) {
          return { ...itemsList,
            [innerItem]: innerItem
          }
        }
        return itemsList;
      }, {})
    }
  }, {});
}

console.log(arrayToGraph(["0.25", "0.5", "0.75", "1", "1.25", "1.5", "1.75", "2"]));
/*
	{
  	"0.25": {
    	"0.5": "0.5",
      "0.75": "0.75",
      ...
    },
    ...
  }
*/