whileБулквым значениемtrue или false5, 'non-empty', {}, интерпретируется как 'true'0, '', null, undefined будет интерпретировано как falsewhile (condition) {
statements;
}
while цикл. Как это работает?let counter = 0;
while (counter < 10) {
console.log('Number : ' + counter);
counter += 1;
}
In [ ]:
var n = 123,
sum = 0,
operands = 'Сумма 123';
while(n > 0) {
sum += n;
n -= 1;
operands += '+' + n;
}
console.log(operands + ' = ' + sum);
In [ ]:
var number = Math.floor((Math.random() * 10000));
function onCheckPrime(number) {
divider = 2,
maxDivider = Math.sqrt(number),
isPrime = true;
/* число X является простым, если оно больше 1
и при этом делится без остатка только на 1 и на X */
while (isPrime && (divider <= maxDivider)) {
if (number % divider == 0) {
isPrime = false;
}
divider++;
}
console.log(`Число ${number} ${isPrime ? '' : ' не '} простое`);
}
onCheckPrime(number)
In [ ]:
function onPrintSum(n) {
number = 1,
sum = 1,
result = 'Сумма 1';
while (number < n) {
number += 1;
sum += number ;
result += '+' + number;
}
result += ' = ' + sum;
console.log(result);
}
onPrintSum(214)
In [ ]:
listArr = new Array()
while (number % 10) {
listArr.push(number);
console.log(number);
number = Math.floor((Math.random() * 10000));
}
console.log('Найден -> ' + number)
In [ ]:
function onCalcFact(number) {
var fact = 1,
factStr = 'n! = ';
while (number) {
if (number === 1) {
break;
}
factStr += number + '*';
fact *= number;
number -= 1;
}
factStr += '1 = ' + fact;
return factStr;
}
onCalcFact(23)
In [ ]:
function onCalcFact(number) {
var fact = 1,
factStr = 'n! = ';
do {
fact *= number;
factStr += number + '*'
number--;
} while (number);
factStr += ' = ' + fact;
return factStr;
}
onCalcFact(4)
In [ ]:
function onPower(n,m) {
let power = 0,
product = 1,
productStr = '';
do {
product *= n;
productStr += n;
if (power < m - 1) {
productStr += '*';
}
power++;
} while (power < m);
productStr += ' = ' + product;
return productStr
}
onPower(2,5)
In [ ]:
function convertToBin(n) {
let dec = n,
result = '';
do {
result = (dec & 1) + result;
dec >>= 1;
} while(dec > 0)
return result
}
convertToBin(21)
forfor выглядит так:for (инициализация; условие; обновление) {
утверждение;
}
for (let number = 0; number < 10; number += 1) {
// Можно использовать номер сдесь
}
// Не использовать номер сдесь
for (let number = 0; number < 10; number += 1) {
// Можно использовать номер сдесь
}
// Не использовать номер сдесь
for (let number = 0; number < 10; number += 1) {
// Можно использовать номер сдесь
}
// Не использовать номер сдесь
for цик поддерживает список декларированных переменных, разделенным символов , (запятая) operator
In [ ]:
function onPower(N,M) {
var product = 1,
productStr = "";
for (let power = 0; power < M; power+=1) {
product *= N;
productStr += N;
if (power != M - 1) {
productStr += '*';
}
}
productStr += ' = ' + product;
return productStr;
}
onPower(3,6)
In [ ]:
function fact(n){
let factorial = 1;
const N = n;
for (let i = 1; i <= N; i += 1) {
factorial *= i;
}
return factorial
}
fact(10)
In [ ]:
for (let i = 1, sum = 1, N = 128; i <= N; i *= 2, sum += i) {
console.log('i=' + i + ', sum=' +sum);
}
In [ ]:
function onDrawTriangle(n) {
for (let row = 1; row <= n; row += 1) {
for (let column = 1; column <= row; column += 1) {
process.stdout.write(column + ' ');
}
console.log("\n")
}
}
onDrawTriangle(6)
In [ ]:
function onFindPrimes(start,end) {
for (let number = start; number <= end; number+=1) {
const maxDivider = Math.sqrt(number);
let isPrime = true,
divider = 2;
while (divider <= maxDivider) {
if (number % divider === 0) {
isPrime = false;
break;
}
divider += 1;
}
if (isPrime) {
process.stdout.write(number + ', ');
}
}
}
onFindPrimes(3,34)
цикл for-infor-in цикл перебирает все параметры объекта
for-in прохводит по всем элементамfor-in итерация происходит по его свойствамИтерация по листу параметров в документе
// propName это строка - имя параметра
for (const propName in document) {
console.log(document[propName]);
}
In [ ]:
function printAll(obj) {
console.log('--------------------------');
for (const propertyName in obj) {
console.log('obj[' + propertyName + '] = ' + obj[propertyName]);
}
console.log('--------------------------');
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var obj = {
firstName: 'Вася',
lastName: 'Пупкин',
age: 23,
fullName: function () {
return this.firstName + " " + this.lastName
},
toString: function () {
return 'Name: ' + this.fullName() + '\nAge: ' + this.age
}
};
printAll(arr);
printAll(obj);
In [ ]:
function printObject(obj) {
console.log('--------------------------');
for (const propertyName in obj) {
if ((typeof obj[propertyName]) != 'function') {
console.log('obj[' + propertyName + '] = ' + obj[propertyName]);
} else{
console.log('obj[' + propertyName + '] = ' + obj[propertyName]());
}
}
console.log('--------------------------');
}
printObject(obj);
In [ ]:
var arr = ['One', 'Two', 'Three', 'Four'];
for (const n of arr) {
console.log(n);
}
In [ ]: