JSFiddle - React, Tailwind, and code Playground

by Jussia

JavaScript

var data = {
		'LOC.C517.E3225': ["Место хранения1", "Место хранения2", "Место хранения3"],
		'LOC.C517.E3224':  ["9999999999999", "9999999999998", "9999999999997"]
	}

var obj = {
				TOD: {
					E4055: "6"
				},
				LOC: {
					E3227: 6,
				}
			}
      
      function setObjectProperty(obj, propPath, value) {
		obj = obj && "object" == typeof obj ? obj : {};

		var path = String(propPath).split(".");

		var tmp = obj;

		for (var i = 0; i < path.length; i++) {

			var propName = path[i];
			var val = tmp[propName];
			if (undefined === val || null === val) {
				tmp[propName] = {};
			}
			if (i == path.length - 1) {
				tmp[propName] = value;
			}
			else if (typeof tmp[propName] != "object") {
				tmp[propName] = {};
			}
			tmp = tmp[propName];
		}

		return obj;
	};
	/**
	 * Длинна всех массивов должна быть одинакова!
	 * @param obj
	 * @param data
	 */
	function repeatAndPopulateObjects(obj, data) {
		var res = [],
			keys = Object.keys(data);
		for (var i = 0; i < data[keys[0]].length; i++) {
			var item = JSON.parse(JSON.stringify(obj));//Object.assign({}, obj);
			for (var path in data) {
				var val = data[path][i];
				item = setObjectProperty(item, path, val);
			}
			res.push(item)
		}
		return res;
	}
  
  console.log(repeatAndPopulateObjects(obj, data))