<section>
<article>
<a href="#">1 ссылка</a>
</article>
</section>
const el = document.querySelector('a'); // находит первый подходящий элемент
const text = el.innerText;
const digitText = text.substring(0,1); // тут будет текст единичка
const digitNumber = +digitText; // тут уже число 1
span
так же:const el = document.querySelector('span'); // найдет самый первый элемент span в документе
<span>не нужный</span>
<div id="theone">
<span>300 спартанцев</span>
</div>
const span = div.querySelector('#theone span');
function insertFirst(id) {
const li = document.createElement('li'); // создали новый листайтем
li.innerText = "меня тут не стояло";
const parent = document.getElementById(id); // это ul
const first = parent.firstChild; // это первый li до вставки
parent.insertBefore(li, first); // впихнули новый li перед бывшим первым
}
function camelize(str) { // на вход приходит строка
return str // вот тут пока ещё строка
.split('-') // здесь из этой строки сделали массив, разбив её по символу дефиса
// ниже пошёл массив ["lol", "kek", "cheburek"]
.map((word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1)) // что-то сделали с каждым элементом массива
.join(''); // соединяет ['my', 'Long', 'Word'] в 'myLongWord'
}
map()
– он просто применит функцию в нём к каждому элементу массива. На выходе получится новый массив..map((word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1)) //**
// то же самое, что:
.map(
function(word, index) {
return index == 0 ? word : word[0].toUpperCase() + word.slice(1);
}
)
// то же самое, что:
.map(
function(word, index) {
if (index == 0) {
return word;
} else {
return word[0].toUpperCase() + word.slice(1);
}
}
)
.map()
вызывает функцию, которая в нём аргументом, для каждого элемента массива и передёт в неё следующие три параметра:mass[i][0]
Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:return 'кот'[1]; // вернёт "о"
При доступе к символам посредством нотации с квадратными скобками, попытка удалить символ, или присвоить значение числовому свойству закончится неудачей, поскольку эти свойства являются незаписываемыми и ненастраиваемыми. Смотрите документацию по методу Object.defineProperty() для дополнительной информации.
const titleCase = str => str
.toLowerCase()
.split(' ')
.map(word => {
const chararr = word.split('');
chararr[0] = chararr[0].toUpperCase();
return chararr.join('');
})
.join(' ');
titleCase("I'm a little pea"); // I'm A Little Pea
titleCase("I love the sky and the trees"); // I Love The Sky And The Trees
({email} = body)
{
const body = {
email: 'myEmail'
};
console.log(
({email} = body) // Object { email: "myEmail" }
);
}
function Check() {
var price = 0;
var PriceBoxes = $('[name=Price][type=checkbox]:checked');
if (PriceBoxes.length) price = $.makeArray(PriceBoxes)
.map(el => +el.value)
.reduce((p,c) => p+c);
$('.message').val(price);
}
removedNodes
— это NodeList
удалённых элементов.(1) […]
0: MutationRecord
addedNodes: NodeList []
attributeName: null
attributeNamespace: null
nextSibling: #text "
"
oldValue: null
previousSibling: #text "
"
removedNodes: NodeList(1)
0: <li id="to-delete">
length: 1
<prototype>: NodeListPrototype { item: item(), keys: keys(), values: values(), … }
target: <ul id="someElement">
type: "childList"
<prototype>: MutationRecordPrototype { type: Getter, target: Getter, addedNodes: Getter, … }
length: 1
<prototype>: Array []
N
исходного массива и возвести её в степень себя: NN.3*3*3 = 27
const shred = arr => arr.reduce((p,c,i,a) => {
const f = prefix => {
for (let j=0; j<a.length; j++)
if (prefix.length < a.length - 1) {
f(prefix + a[j]);
} else {
p.push(+(prefix + a[j]));
}
}
f(c.toString());
return p;
}, []);
shred([1,2,3]);
/*
[111,112,113,121,122,123,131,132,133,211,212,213,221,222,223,231,232,233,311,312,313,321,322,323,331,332,333]
*/
npm install uglify-js
uglifyjs --compress -o result.js -- jquery.js lib2.js lib3.js
result.js
, который содержит в себе все указанные выше билиотеки. Его одного и подключайте в страницу. function countLocalMax(arr) {
const last = arr.length;
let prevGrad = 1;
return arr.reduce((p,c,i,a)=>{
const nextGrad = i === last ? -1 : a[i+1] - c;
if (prevGrad >= 0 && nextGrad <= 0) p++;
prevGrad = nextGrad;
return p;
}, 0);
}
countLocalMax([0,0,3,4,5,4,0,-1]); // 2
Как добавить элемент в конец ?
var runRo1 = document.getElementsByClassName('btn send-private-message-btn white');
if(runRo1.length == 1){
runRo1[0].innerHTML += '<div class="buy-deposit btn white" only-other-profile="">Забронировать на бирже</div>';
}
innerHTML
что-то порушит - перестанет там где-то реагировать на клики, то надо делать «правильно»: создавать элемент и вставлять в конец через appendChild()
:if(..) {
const div = document.createElement('div');
div.classList.add('buy-deposit', 'btn', 'white');
div.setAttribute('only-other-profile', '');
div.appendChild( document.createTextNode('Забронировать на бирже'));
runRo1[0].appendChild(div);
}
fetch()
указывать прокси, через который выполнять подключение.fetch('https://www.google.com',{ agent:new HttpsProxyAgent('http://127.0.0.1:8580')})
.then(function(res){
//...
})
n.toString(9)
– используются цифры от 0 до 8 и точно нет ни одной девятки. Единицы меняем на девятки. Остаётся добавить две единицы на случайных позициях.function tworandom() {
const arr = Math.floor(Math.random() * 9e8).toString(9).replace(/1/g,9).split('');
for (let i = 2; i > 0; i--) arr.splice(Math.floor(Math.random() * arr.length), 0, 1);
return +arr.join('');
}
[...Array(5)].map(tworandom)
// 6401715726, 950818173966, 915469690179, 4191464422, 223063891715