JSFiddle - React, Tailwind, and code Playground
by Timatnet
HTML
<p>Дата: <span id="дата"></span></p>
<p>Предприятия:</p>
<p id="данные-предприятий"></p>
<p>Люди:</p>
<p id="данные-людей"></p>
<div id="log"></div>
CSS
pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; }
.string { color: green; }
.number { color: darkorange; }
.boolean { color: blue; }
.null { color: magenta; }
.key { color: red; }
JavaScript
function syntaxHighlight(json) {
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
var cls = 'number';
if (/^"/.test(match)) {
if (/:$/.test(match)) {
cls = 'key';
} else {
cls = 'string';
}
} else if (/true|false/.test(match)) {
cls = 'boolean';
} else if (/null/.test(match)) {
cls = 'null';
}
return '<span class="' + cls + '">' + match + '</span>';
});
}
var красиво = function(obj) {
var json = JSON.stringify(obj, null, 4);
return '<pre>' + syntaxHighlight(json) + '</pre>';
}
var операция_не_реализована/* = function(операция) {
$('#log')
.append(
'операция не реализована'
+ (операция ? ' : ' + операция : '')
+ '<br/>'
);
}*/;
var неизвестно;
var сутки = 1;
var работаем_сутки = function() {
/*for(var группа_операций in предприятия['группы операций']) {
группа_операций = предприятия['группы операций'][группа_операций];
for(var операция in группа_операций) {
this[операция] = группа_операций[операция];
this[операция]();
}
}*/
var предприятие = this;
for(var сотрудник in предприятие.сотрудники) {
сотрудник = предприятие.сотрудники[сотрудник];
if(сотрудник.обязанности)
сотрудник.обязанности(сутки)
}
};
function рублей(количество) {
return количество + ' рублей';
}
var свободные_люди = [
{
имя: 'Владимир',
ресурсы: {
деньги: рублей(1000)
},
обязательства: {
}
},
{
имя: 'Всеволод',
ресурсы: {
деньги: рублей(1500)
},
обязательства: {
}
}
];
var предприятия =...