upload files into repos

This commit is contained in:
Nikiroy78 2023-03-12 13:58:18 +03:00
parent b54f718590
commit 293ea78911
2 changed files with 98 additions and 0 deletions

41
4.nodejs_js/index.js Normal file
View File

@ -0,0 +1,41 @@
function isInt (value) { // Функция проверки целочисленного типа
if (typeof(value) == 'number') {
return parseInt(value) == value;
}
else {
return false;
}
}
function isArray (value, typeCheck=null) { // Функция проверки типа массива
if (!Array.isArray(value)) {
return false;
}
else if (typeCheck == null) {
return true
}
else {
for (let i in value) {
if (!typeCheck(value[i])) {
return false;
}
}
return true;
}
}
function getTwoSummands (array, findValue) {
if (isInt(findValue) && isArray(array, isInt)) { // Вы же ещё помните, что javascript - язык с динамической, а не статической типизацией данных?
let calculatedVal;
for (let i in array) {
calculatedVal = findValue - array[i];
if (array.indexOf(calculatedVal) != -1 && array.indexOf(calculatedVal) != i) { // Проверим есть ли значение в массиве и имеет ли данное значение рассматриваемый индекс.
return [array[i], calculatedVal];
}
}
return [];
}
else {
throw new Error("Wrong arguments: <Array(int)>, <int>");
}
}

View File

@ -21,3 +21,60 @@ targetSum = 10
-1 + 11 = 10 = targetSum -1 + 11 = 10 = targetSum
``` ```
Код написанной функции прокомментируйте. Код написанной функции прокомментируйте.
## Алгоритм
Алгоритм будет заключаться в переборе всех значений массива с вычетом из входного параметра с целью поиска полученного значения в массиве:
```
: [3, 5, -4, 8, 11, 1, -1, 6], 10
---------------------------------
>> 10 - 3 = 7 | false
>> 10 - 5 = 5 | false
>> 10 - (-4) = -14 | false
>> 10 - 8 = 2 | false
>> 10 - 11 = -1 | true
---------------------------------
<< [11, -1]
```
## Реализация
```javascript
function isInt (value) { // Функция проверки целочисленного типа
if (typeof(value) == 'number') {
return parseInt(value) == value;
}
else {
return false;
}
}
function isArray (value, typeCheck=null) { // Функция проверки типа массива
if (!Array.isArray(value)) {
return false;
}
else if (typeCheck == null) {
return true
}
else {
for (let i in value) {
if (!typeCheck(value[i])) {
return false;
}
}
return true;
}
}
function getTwoSummands (array, findValue) {
if (isInt(findValue) && isArray(array, isInt)) { // Вы же ещё помните, что javascript - язык с динамической, а не статической типизацией данных?
let calculatedVal;
for (let i in array) {
calculatedVal = findValue - array[i];
if (array.indexOf(calculatedVal) != -1 && array.indexOf(calculatedVal) != i) { // Проверим есть ли значение в массиве и имеет ли данное значение рассматриваемый индекс.
return [array[i], calculatedVal];
}
}
return [];
}
else {
throw new Error("Wrong arguments: <Array(int)>, <int>");
}
}
```