let test =
[
{
"id": 5,
"title": "Заголовок 1",
"year": [
[2020,1,15,29,1],
[2019,1,18,33,3],
[2018,1,17,53,2],
[2017,1,18,63,4],
[2016,1,19,38,9]
]
},
{
"id": 66,
"title": "Заголовок 2",
"year": [
[2020,1,15,29,1],
[2019,1,18,33,3],
[2018,1,17,53,2],
[2017,1,18,63,4],
[2016,1,19,38,9]
]
}
];
test.find(o => o.id === 66).year
zzz.find(o => o.id === 33).array
calc_init(3, 'id_calc_3');
? Если я дополнительно добавлю в документ: <script>calc_init(3, 'id_calc_3');</script>
то будет ошибка, так как не успеет загрузился calc_initкласс или функцию или объект и создавайте для каждого калькулятора новую копию?
Лучше один раз его просто загрузить <script src="calc_init.js"></script>
.
let scripts = document.getElementsByTagName( 'script' );
let thisScriptTag = scripts[ scripts.length - 1 ];
let calc_init = document.createElement("script");
let this_path = thisScriptTag.getAttribute('src').replace( /[^\/]+$/g, '' );
let calc_id = "calc_" + thisScriptTag.getAttribute('src').split('?')[1];
calc_init.src = this_path + calc_id + ".js";
calc_init.setAttribute('defer', '');
thisScriptTag.after(calc_init);
let elem_div = document.createElement("div");
elem_div.setAttribute('id', calc_id);
thisScriptTag.after(elem_div);
const date = new Date(), year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate();
function addMonth(date, months, split_symbol){
if (split_symbol == undefined) split_symbol = '.';
date = date.split(split_symbol);
date = new Date(date[2],date[1]-1,date[0]);
date.setFullYear(date.getFullYear(), date.getMonth() + months, date.getDate());
return ('0'+date.getDate()).slice(-2) +'.'+ ('0'+(date.getMonth()+1)).slice(-2) +'.'+ date.getFullYear();
}
document.getElementById(calc_id).innerHTML = "<input type='text' id='"+ calc_id +"' value='"+ addMonth('01.'+month+'.'+year, -2) +"'>";
так я тоже понимаю зачем мне эти манипуляции, что они мне дадут