entity
внутри функции перестала указывать на тот же массив, что и fruits
,function loadEntities(entity, item) {
// тут entity из аргументов указывает туда же, куда и fruits
// можно вызывать методы того, внешнего массива, Те же push(), splice()
entity = []
// а тут entity стала указывать в другую сторону, на новый пустой массив
// fruits это уже никак не касается
entity.push(item)
// положили что-то в никчёмный массив
}
0
.const fruits = []; // навсегда
loadEntities(fruits, 'banana');
console.log(fruits);
loadEntities(fruits, 'apple');
console.log(fruits);
function loadEntities(entity, item) {
entity.length = 0; // массив тот же, но пуст
entity.push(item);
}
entity.splice(0, entity.length);
prompt()
возвращает текстовую строку."100"
меньше (по алфавиту) строки "50"
.let a = +prompt('Введите 1-е число');
let a = +prompt('Введите 1-е число');
let b = +prompt('Введите 2-е число');
if (a < b) {
[a, b] = [b, a]; // поменяли местами
}
// теперь точно a > b
alert(b + ',' + a);
alert(a + ',' + b);
Node.TEXT_NODE
и именем nodeName == "#text"
[1, 2, 3]
→ X
)forEach()
div.title
, внутри которого потом появится кнопка.arr.reduce((acc, c) => acc + c) // -84
arr.length // 5
Math.min(...arr) // -100
Math.max(...arr) // 10
arr.every( item => (item & 1) === 0 )
arr.filter( item => (item & 1) === 0 )
const isEven = num => (num & 1) === 0;
тут проверяется последний бит числа, если он 0
, значит, число четное. Годится только для небольших 32-битных целых.arr.every(isEven) // false
arr.filter(isEven) // [2, 4, 6, 8, 10]
data
, где хранятся собственные данные инстанса компонента.<script>
export default {
data() {
return {
isOpen: false,
}
}
methods: {
toggle: () => this.isOpen = !this.isOpen,
}
}
</script>
function(err, results)
, которую вызовут позже, "потом", когда до-олгая операция запроса к БД завершится.async function intervalParserGroup(connect) {
const queryAllTable = 'SHOW TABLES FROM communities_auto';
const arrAllNameTable = [];
await new Promise((resolve, reject) => {
connect.query(queryAllTable, (err, results) => {
if (err) reject(err);
arrAllNameTable.push(results);
resolve();
});
});
console.log(arrAllNameTable);
}
/^\[id\d+\|@([^\]]+)\]|https\:\/\/(m\.)?vk\.com\/(.+)$/
const str1 = '[id656077892|@my_name.name]';
const str2 = 'https://vk.com/my_name.name';
const regexp = /^\[id\d+\|@([^\]]+)\]|https\:\/\/(m\.)?vk\.com\/(.+)$/;
str1.match(regexp)
// [ "[id656077892|@my_name.name]", "my_name.name", undefined, undefined ]
str2.match(regexp)
// [ "https://vk.com/my_name.name", undefined, undefined, "my_name.name" ]
+
это унарный оператор, который пробует преобразовать единствернный аргумент в число."321" // строка "321"
+"321" // число 321
+"123".split('').reverse().join('') // 321
-
примерно такой же, только негативит аргумент.('a').toUppercase() // "A"
и добавить хвост из повторов строчной после ('A').toLowerCase() // "a"
. ("x").repeat(3) // "xxx"
map(func)
вторым аргументом передаёт в функцию внутри индекс элемента: 0, 1, 2, ...
[ ...'acdc' ] // [ "a", "c", "d", "c" ]
const accum = alph => [...alph]
.map((c, i) => c.toUpperCase() + c.toLowerCase().repeat(i))
.join('-');
$str = "attachment=12345";
list($number) = sscanf($str, "attachment=%d");
echo $number; // 12345