A mostly AI coded js-maker, supervised by me.
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
// exercise01
|
||||
{
|
||||
let p = document.querySelector("p");
|
||||
p.innerHTML = ((__rkt_body) => {
|
||||
const __rkt_to_regexp = (__pat, __global) => {
|
||||
const __flags = (__pat instanceof RegExp)
|
||||
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
|
||||
: (__global ? 'g' : '');
|
||||
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
|
||||
};
|
||||
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
|
||||
const __rkt_replacement = (__s) => {
|
||||
if (typeof __s !== 'string') return __s;
|
||||
let __out = '';
|
||||
for (let __i = 0; __i < __s.length; __i++) {
|
||||
const __ch = __s[__i];
|
||||
if (__ch === '$') { __out += '$$'; continue; }
|
||||
if (__ch === '\\' && __i + 1 < __s.length) {
|
||||
const __n = __s[++__i];
|
||||
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
|
||||
else __out += __n;
|
||||
} else __out += __ch;
|
||||
}
|
||||
return __out;
|
||||
};
|
||||
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
|
||||
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.innerHTML).replace(__rkt_to_regexp(new RegExp("\\b\\w{9,}\\b"), true), __rkt_replacement(function(word) {
|
||||
return ("<span style=\"background: yellow\">" + word + "</span>");
|
||||
})));
|
||||
}
|
||||
|
||||
// exercise02
|
||||
{
|
||||
let p = document.querySelector("p");
|
||||
p.insertAdjacentHTML("afterend", "<a href=\"https://forcemipsum.com/\">Source: ForceM Ipsum</a>");
|
||||
}
|
||||
|
||||
// exercise03
|
||||
{
|
||||
let p = document.querySelector("p");
|
||||
p.innerHTML = ((__rkt_body) => {
|
||||
const __rkt_to_regexp = (__pat, __global) => {
|
||||
const __flags = (__pat instanceof RegExp)
|
||||
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
|
||||
: (__global ? 'g' : '');
|
||||
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
|
||||
};
|
||||
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
|
||||
const __rkt_replacement = (__s) => {
|
||||
if (typeof __s !== 'string') return __s;
|
||||
let __out = '';
|
||||
for (let __i = 0; __i < __s.length; __i++) {
|
||||
const __ch = __s[__i];
|
||||
if (__ch === '$') { __out += '$$'; continue; }
|
||||
if (__ch === '\\' && __i + 1 < __s.length) {
|
||||
const __n = __s[++__i];
|
||||
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
|
||||
else __out += __n;
|
||||
} else __out += __ch;
|
||||
}
|
||||
return __out;
|
||||
};
|
||||
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
|
||||
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.textContent).replace(__rkt_to_regexp(new RegExp("\\.\\s*"), true), __rkt_replacement(".<br>")));
|
||||
}
|
||||
|
||||
// exercise04
|
||||
{
|
||||
let heading = document.querySelector("h1");
|
||||
let p = document.querySelector("p");
|
||||
let words = ((__rkt_body) => {
|
||||
const __rkt_to_regexp = (__pat, __global) => {
|
||||
const __flags = (__pat instanceof RegExp)
|
||||
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
|
||||
: (__global ? 'g' : '');
|
||||
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
|
||||
};
|
||||
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
|
||||
const __rkt_replacement = (__s) => {
|
||||
if (typeof __s !== 'string') return __s;
|
||||
let __out = '';
|
||||
for (let __i = 0; __i < __s.length; __i++) {
|
||||
const __ch = __s[__i];
|
||||
if (__ch === '$') { __out += '$$'; continue; }
|
||||
if (__ch === '\\' && __i + 1 < __s.length) {
|
||||
const __n = __s[++__i];
|
||||
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
|
||||
else __out += __n;
|
||||
} else __out += __ch;
|
||||
}
|
||||
return __out;
|
||||
};
|
||||
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
|
||||
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.textContent).split(__rkt_to_regexp(new RegExp(" "), true)));
|
||||
let count = (words).length;
|
||||
heading.insertAdjacentHTML("afterend", ("<p>" + String(count) + " words</p>"));
|
||||
}
|
||||
|
||||
// exercise05
|
||||
{
|
||||
let p = document.querySelector("p");
|
||||
let step = ((__rkt_body) => {
|
||||
const __rkt_to_regexp = (__pat, __global) => {
|
||||
const __flags = (__pat instanceof RegExp)
|
||||
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
|
||||
: (__global ? 'g' : '');
|
||||
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
|
||||
};
|
||||
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
|
||||
const __rkt_replacement = (__s) => {
|
||||
if (typeof __s !== 'string') return __s;
|
||||
let __out = '';
|
||||
for (let __i = 0; __i < __s.length; __i++) {
|
||||
const __ch = __s[__i];
|
||||
if (__ch === '$') { __out += '$$'; continue; }
|
||||
if (__ch === '\\' && __i + 1 < __s.length) {
|
||||
const __n = __s[++__i];
|
||||
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
|
||||
else __out += __n;
|
||||
} else __out += __ch;
|
||||
}
|
||||
return __out;
|
||||
};
|
||||
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
|
||||
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.innerHTML).replace(__rkt_to_regexp(new RegExp("\\?"), true), __rkt_replacement("🤔")));
|
||||
let out = ((__rkt_body) => {
|
||||
const __rkt_to_regexp = (__pat, __global) => {
|
||||
const __flags = (__pat instanceof RegExp)
|
||||
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
|
||||
: (__global ? 'g' : '');
|
||||
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
|
||||
};
|
||||
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
|
||||
const __rkt_replacement = (__s) => {
|
||||
if (typeof __s !== 'string') return __s;
|
||||
let __out = '';
|
||||
for (let __i = 0; __i < __s.length; __i++) {
|
||||
const __ch = __s[__i];
|
||||
if (__ch === '$') { __out += '$$'; continue; }
|
||||
if (__ch === '\\' && __i + 1 < __s.length) {
|
||||
const __n = __s[++__i];
|
||||
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
|
||||
else __out += __n;
|
||||
} else __out += __ch;
|
||||
}
|
||||
return __out;
|
||||
};
|
||||
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
|
||||
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(step).replace(__rkt_to_regexp(new RegExp("!"), true), __rkt_replacement("😲")));
|
||||
p.innerHTML = out;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user