`
:$('#bombfire').html(`
<svg>...</svg>
`);
Только в обратных "бэк-тиках" можно текст разбивать на строки. Подробнее про строки и кавычки.const str = ' \
line 1 \
line 2 \
';
reduce()
в копилку:const zip = (arr1, arr2) => arr1.reduce(
(acc, head, i) => (acc.push({ ...arr2[i], head }), acc),
[]
);
zip(mass1, mass2)
/* [
{ t1: "aa", p1: "lot", head: "zn1" },
{ t1: "ab", p1: "kot", head: "zn2" },
{ t1: "ac", p1: "mot", head: "zn3" },
] */
map()
тут больше подходит:mass1.map((head, i) => ({ head, ...mass2[i] }))
let mass1 = ["zn1", "zn2", "zn3"]
let mass2 = [
{t1: "aa", p1: "lot"},
{t1: "ab", p1: "kot"},
{t1: "ac", p1: "mot"}
]
let mass3 = []
for (let i = 0; i < mass1.length; i++) {
mass3.push(
Object.assign(mass2[i], {head: mass1[i]})
)
}
[...new Map(arr.map((item) => [item["key"], item])).values()]
const uniqueIds = [];
arr.filter(element => {
const isDuplicate = uniqueIds.includes(element.key);
if (!isDuplicate) {
uniqueIds.push(element.key);
return true;
}
return false;
});
Object.values(
arr.reduce( (c, e) => {
if (!c[e.key]) c[e.key] = e;
return c;
}, {})
);
const unique = (arr, key) => {
const keys = new Set();
return arr.filter(el => !keys.has(el[key]) && keys.add(el[key]));
};
unique(arr, 'key')
value
.- let input = document.getElementsByClassName('form-control');
+ const input = document.querySelector('input.form-control');
0 0 500 500
- всё будет работать, просто бублик будет в 10 раз меньше.viewBox
- задаёт систему координат для вложенных элементов. Т.е. width
у тебя 500px - эти 500px, размечены на отрезки от 0 до 50. Т.е. 1
-> 10px
, r="15.9"
-> r="159px".
Всё просто. document.querySelector('.close').addEventListener('click', function(e){
e.stopPropagation()
document.querySelector('.result').insertAdjacentHTML('beforeend', '<div>Close</div>');
});