new Set(strings).forEach(function(n) {
this.has(n) || objects.push({ name: n });
}, new Set(objects.map(n => n.name)));
for (const name of strings) {
if (objects.every(n => n.name !== name)) {
objects[objects.length] = { name };
}
}
objects.splice(0, objects.length, ...strings.reduce(
(acc, n) => acc.set(n, acc.get(n) ?? { name: n }),
new Map(objects.map(n => [ n.name, n ]))
).values());
const punct = '.,!?;:"\'”“';
const numStrWithPunctEnd = 3;
const arr = str.split('\n');
const index = arr.findIndex(function(n, i, a) {
return this.every(m => punct.includes(a[i + m]?.slice(-1)));
}, [...Array(numStrWithPunctEnd).keys()]);
const result = index !== -1 ? arr.slice(index).join('\n') : str;
const obj = {
a: 69,
b: 187,
c: 666,
};
const proxy = new Proxy(obj, {
set(target, key, val) {
console.log('свойство', key, 'изменило своё значение с', target[key], 'на', val);
target[key] = val;
return true;
},
});
computed: {
categories() {
return this.posts.data.reduce((acc, n) => (
(acc[n.category_name] ??= {
name: n.category_name,
posts: [],
}).posts.push(...n.posts),
acc
), {});
},
...
<div v-for="category in categories">
<h3>{{ category.name }}</h3>
<div v-for="post in category.posts">
{{ post.title }}
</div>
</div>
С чего начать изучение языка?
ref указанный так указывает на Proxy а не на элемент. Как это исправить?
const index = 1;
const count = 2;
const value = 'hello, world!!';
arr.splice(index, count, ...Array(count).fill(value));
// или, splice использовать необязательно
for (let i = count; i-- > 0; arr[index + i] = value) ;
const fixCount = Math.max(0, Math.min(count, arr.length - index));
function getDates(startStr, length) {
const date = new Date(startStr.split('.').reverse().join('-'));
const day = date.getDate();
date.setDate(0);
return Array.from({ length }, () => {
date.setMonth(date.getMonth() + 2, 0);
date.setDate(Math.min(date.getDate(), day));
return date.toLocaleDateString('ru-RU', {
year: 'numeric',
month: '2-digit',
day: '2-digit',
});
});
}
function Pokemon({ name, url }) {
const [ data, setData ] = useState(null);
useEffect(() => {
fetch(url).then(r => r.json()).then(setData);
}, [ url ]);
return (
<div>
<h4>{name}</h4>
{data
? <div>
<ul>{data.abilities.map(n => <li>{n.ability.name}</li>)}</ul>
<img src={data.sprites.front_default} />
</div>
: <div>loading...</div>
}
</div>
);
}
const lines = data.split('\n').map(n => n.replace(/X\S+/, 'hello, world!!'));
document.body.addEventListener('click', e => {
document.querySelectorAll('details[open]').forEach(n => {
n.open = n === e.target.parentNode;
});
});
index = next((i for i, n in enumerate(arr) if key in n), -1)
value = next((n[key] for n in arr if key in n), None)
data: () => ({
blockTypes: [ 'block-item1', 'block-item2' ],
blocks: [],
}),
<button v-for="n in blockTypes" @click="blocks.push(n)">add {{ n }}</button>
<component v-for="n in blocks" :is="n"></component>
return this.arr.sort(...
Метод sort()
на месте сортирует элементы массива
копия массива не создаётся