data: () => ({
maxlen: 10,
items: [
'hello, world!!',
'fuck the world',
'fuck everything',
'1234567890',
'Lorem ipsum dolor sit amet, consectetur adipiscing elit,',
],
}),
methods: {
short1: (str, maxlen) => str.length <= maxlen ? str : str.slice(0, maxlen) + '...',
short2: (str, maxlen) => str.substring(0, maxlen) + (str.charAt(maxlen) && '...'),
short3: (str, maxlen) => str.replace(RegExp(`(.{${maxlen}}).+`), '$1...'),
short4: (str, maxlen) => str.replace(RegExp(`(?<=.{${maxlen}}).+`), '...'),
},<input type="range" min="1" max="20" v-model="maxlen">
<span>{{ maxlen }}</span>
<div v-for="n in items">
<div v-text="short1(n, maxlen)"></div>
<div v-html="short2(n, maxlen)"></div>
<div :text-content.prop="short3(n, maxlen)"></div>
<div>{{ short4(n, maxlen) }}</div>
</div>canvas.addEventListener("mouseenter", () => {
pluginInstance.setReverse(false).play();
});
canvas.addEventListener("mouseleave", () => {
pluginInstance.setReverse(true).play();
});const text = 'night has rolled out redesigned 3d hd';
const blacklist = [ 'night', 'year', 'when', 'you', 'can' ];
const exist = blacklist.some(word => text.includes(word));
exist // true // Тут, конечно, лучше какие-нибудь id сделать для однозначности
const circle = document.querySelector('.circle');
const arrow = document.querySelector('.arrow');
document.addEventListener('mousemove', (e) => {
const circleRect = circle.getBoundingClientRect();
const circleCenterX = circleRect.left + circle.offsetWidth / 2;
const circleCenterY = circleRect.top + circle.offsetHeight / 2;
const deltaX = e.clientX - circleCenterX;
const deltaY = e.clientY - circleCenterY;
const angleInRadians = Math.atan2(deltaY, deltaX) - Math.PI / 2;
const angleInDegrees = 180 * angleInRadians / Math.PI;
const angleFrom0To360 = (angleInDegrees + 360) % 360;
const shouldEffectBeApplied = deltaY < 0;
if (shouldEffectBeApplied) {
arrow.style.transform = `rotate(${angleFrom0To360}deg)`;
}
});.arrow {
transition: transform .1s linear;
} [ключ, значение] методом fromEntries():Object.fromEntries(arr.map((v, i) => [i + 1, v]))map() создаётся новый, где каждый элемент это тоже массив:[ [1, 'a'], [2, 'b'], ... ]Object.fromEntries() для получения искомого объекта.Мое решение:
let arr = ['a', 'b', 'c', 'd', 'e'];
let obj = {};
for (let i = 0; i <= arr.length; i++) {
obj[i + 1] += arr;
}
console.log(obj);+= ? Вы же не плюсуете к чему то, а назначаете значение. То есть - obj[i + 1] += arr;
+ obj[i + 1] = arr;- obj[i + 1] = arr;
+ obj[i + 1] = arr[i];let arr = ['a', 'b', 'c', 'd', 'e'];
let obj = {};
for (let i = 1; i <= arr.length; i++) {
obj[i] = arr[i-1];
}
console.log(obj);let arr = ['a', 'b', 'c', 'd', 'e'];
let obj = arr.reduce((a, c, i) => (a[i+1] = c, a), {});
console.log(obj);