📜  如何使用 SolverJS ?

📅  最后修改于: 2022-05-13 01:56:30.529000             🧑  作者: Mango

如何使用 SolverJS ?

SolverJS 是一个 JavaScript 库,它包含许多在任何应用程序中都非常频繁使用的数学和基本逻辑函数。它旨在通过对某些函数的简单调用轻松解决逻辑问题,而且所有函数都具有时间和空间效率。它有多种用例,例如与转换相关的矩阵运算、基本字符串运算以及 gcd、幂、素数检查等数学实用程序。在本文中,我们将讨论使用它的方法库和后来的一些问题陈述,我们可以在其中使用它。

让我们看一步一步的实现来了解如何使用这个库,在文章的最后你会很舒服地在你的项目中使用它。

第 1 步:创建节点应用程序。由于我们将使用在 node.js 上工作的库,因此必须首先创建一个节点项目,因此在终端中键入此命令以创建一个节点应用程序。

句法:

npm init 

此命令将询问有关项目的一些配置,您可以很容易地填写它们,如果您错误地按 Enter 键输入某些字段或者如果您想更改某些内容,您始终可以选择稍后从包中更改这些配置。 json文件。

第 2 步:使用 npm 安装库。在终端中运行此命令以使用节点包管理器安装库,如果您使用的是纱线包管理器,则使用 `yarn add` 而不是 `npm install`。

句法:

npm install solverjs 

第 3 步:导入您的应用程序文件。创建一个 javascript 文件,我们将其命名为app.js 并在使用之前在代码中导入库。下面给出了在节点应用程序中导入库的语法。我们在 require 关键字的括号内提供库的名称,然后将结果存储在 const 变量中。

const solverjs = require('solverjs');

项目结构:这将是我们的文件夹结构,在整篇文章中,我们将使用这个 app.js。

第四步:调用相关函数并使用。现在我们将创建一个函数并开始在我们的项目中使用该库。

注意:在第 1 步和第 2 步之后,您可以调用库中可用的任何函数并提供所需的参数,该函数将返回适当的结果。

例如,如果你想计算一个数组的平均值,那么只需调用函数avg([array]),它就会返回平均值。

app.js
//Import the library
const solverjs = require('solverjs');
  
const myArray = [5,2,1,8,4];
  
//Call function
const calculatedAverage = solverjs.avg(myArray);
console.log(calculatedAverage);


app.js
const solverjs = require('solverjs');
  
const lengthInYard = 5;
const lengthInMetre = solverjs.ydToMe(lengthInYard);
console.log(`${lengthInYard} yd = ${lengthInMetre} m`);


app.js
const solverjs = require('solverjs');
  
const lengthInFeet = 2;
const lengthInCentimetre = solverjs.ftToCm(lengthInFeet);
console.log(`${lengthInFeet} ft = ${lengthInCentimetre} cm`);


app.js
const solverjs = require('solverjs');
  
const areaInSquareMetre  = 25;
const areaInSquareInch = solverjs.sqMeToSqIn(areaInSquareMetre);
console.log(`${areaInSquareMetre} sq. m. = ${areaInSquareInch} sq. in.`);


app.js
const solverjs = require('solverjs');
  
const areaInHectare = 2;
const areaInSquareKilometre = solverjs.hectToSqKm(areaInHectare);
console.log(`${areaInHectare} hect = ${areaInSquareKilometre} sq. km.`);


app.js
const solverjs = require('solverjs');
  
const storageInByte = 600;
const storageInBit  = solverjs.byteToBit(storageInByte);
console.log(`${storageInByte} byte = ${storageInBit} bit`);


app.js
const solverjs = require('solverjs');
  
const storageInGigaByte = 1.5;
const storageInKiloByte  = solverjs.gbToKb(storageInGigaByte);
console.log(`${storageInGigaByte} gb = ${storageInKiloByte} kb`);


app.js
const solverjs = require('solverjs');
  
const timeInNanoSecond = 1500;
const timeInMicroSecond  = solverjs.nsToUs(timeInNanoSecond);
console.log(`${timeInNanoSecond} ns = ${timeInMicroSecond} microsecond`);


app.js
const solverjs = require('solverjs');
  
const timeInNanoSecond = 200000000;
const timeInMonth  = solverjs.nsToMm(timeInNanoSecond);
console.log(`${timeInNanoSecond} ns = ${timeInMonth} month`);


app.js
const solverjs = require('solverjs');
  
const temperatureInCelsius = 4;
const temperatureInKelvin  = solverjs.celToKel(temperatureInCelsius);
console.log(`${temperatureInCelsius} celsius = ${temperatureInKelvin} kelvin`);


app.js
const solverjs = require('solverjs');
  
const temperatureInKelvin = 500;
const temperatureInFahreinheit  = solverjs.kelToFah(temperatureInKelvin);
console.log(`${temperatureInKelvin} kelvin = ${temperatureInFahreinheit} fahreinheit`);


app.js
const solverjs = require('solverjs');
  
const hexNumber  = '12A';
const octNumber = solverjs.hexToOct(hexNumber);
console.log(`${hexNumber} in hexadecimal  = 0o${octNumber} in octal`);


app.js
const solverjs = require('solverjs');
  
const decimalNumber  = 25;
const binaryNumber = solverjs.decToBin(decimalNumber);
console.log(`${decimalNumber} in decimal = ${binaryNumber} in binary`);


app.js
const solverjs = require('solverjs');
const matrix1 = [ 
        [1,2,4],
        [6,3,9],
        [9,5,5]
    ];
const matrix2 = [ 
    [3,1,9],
    [10,12,2],
    [19,8,5]
];
  
const matrixSum12 = solverjs.matAdd(matrix1, matrix2);
const matrixSubtract12 = solverjs.matSub(matrix1, matrix2);
  
console.log("Sum of Given Matrices");
for(let i = 0;i<3;i++) console.log(matrixSum12[i]);   
  
console.log("Subtraction of 2nd matrix from 1st");
for(let i = 0;i<3;i++) console.log(matrixSubtract12[i]);


app.js
const solverjs = require('solverjs');
  
const num1  = 12233221;
solverjs.isPalindrome(num1) ? console.log(`${num1} is Palindrome`) :
console.log(`${num1} is not Palindrome`);


app.js
const solverjs = require('solverjs');
  
const num2 = 43215; 
const num2Reverse = solverjs.reverse(num2);
console.log(`Reverse of ${num2} is ${num2Reverse}`);


app.js
const solverjs = require('solverjs');
  
const num6 = 8;
const num6Factorial = solverjs.fac(num6);
console.log(`Factorial of ${num6} is ${num6Factorial}`);


app.js
const solverjs = require('solverjs');
  
const myString = "GFG provides best content for Computer Science students & developers";
const totalWords = solverjs.wordCount(myString, ' ');
console.log(`Total words in given sentence are ${totalWords}`);


app.js
const solverjs = require('solverjs');
  
const anotherString = "GFG";
const totalPermutations = solverjs.permutation(anotherString);
console.log(`Total permutations of 'GFG' are ${totalPermutations}`);


app.js
const solverjs = require('solverjs');
  
const date = "28/07/2021";
const day  = solverjs.dateToDay(date);
console.log(`There is ${day} on ${date}`);


app.js
const solverjs = require('solverjs');
  
const dateOfBirth = "25/01/2001";
const calculatedAge = solverjs.dobToAge(dateOfBirth);
console.log(`The age according to DOB ${dateOfBirth} is ${calculatedAge}`);


运行应用程序的步骤:打开终端并键入以下命令。

node app.js

输出:这是上面代码的输出。

现在让我们看看我们可以在示例的帮助下使用这个库的使用领域。

1. 转换:该库包含许多与从一个物理单元到另一个物理单元的转换相关的函数,我们的应用程序需要这些转换的情况有很多种,因此我们可以通过一个简单的函数调用来实现我们的目标。此类别中每个函数的基本结构如下所示:

Name: someUnitToAnotherRequiredUnit()
Argument: valueInGivenUnit
Return Value: valueInRequiredUnit 

1.1 长度相关的转换:

  • 示例 1:这里我们将码转换为米,函数ydToMe() 接收以码为单位的长度并以米为单位返回长度。得到结果后,我们只是用 console.log 和 template 字面量打印它。
    注意:- 如果您不了解模板字面量,让我告诉您,它用于在 ES6 中生成动态字符串,您可以在${}中注入 javascript 表达式。

    应用程序.js

    const solverjs = require('solverjs');
      
    const lengthInYard = 5;
    const lengthInMetre = solverjs.ydToMe(lengthInYard);
    console.log(`${lengthInYard} yd = ${lengthInMetre} m`);
    

    输出:

  • 示例 2:这里我们将英尺转换为厘米,函数ftToCm() 接收以英尺为单位的长度并以厘米为单位返回长度。

    应用程序.js

    const solverjs = require('solverjs');
      
    const lengthInFeet = 2;
    const lengthInCentimetre = solverjs.ftToCm(lengthInFeet);
    console.log(`${lengthInFeet} ft = ${lengthInCentimetre} cm`);
    

    输出:

1.2 面积相关的转换:

  • 示例 1:这里我们将平方米转换为平方英寸,函数sqMeToSqIn() 接收以平方米为单位的面积并以平方英寸为单位返回面积。

    应用程序.js

    const solverjs = require('solverjs');
      
    const areaInSquareMetre  = 25;
    const areaInSquareInch = solverjs.sqMeToSqIn(areaInSquareMetre);
    console.log(`${areaInSquareMetre} sq. m. = ${areaInSquareInch} sq. in.`);
    

    输出:

  • 示例 2:这里我们将公顷转换为平方公里,函数hectToSqKm() 以公顷为单位接收面积并以平方公里为单位返回面积。

    应用程序.js

    const solverjs = require('solverjs');
      
    const areaInHectare = 2;
    const areaInSquareKilometre = solverjs.hectToSqKm(areaInHectare);
    console.log(`${areaInHectare} hect = ${areaInSquareKilometre} sq. km.`);
    

    输出:

1.3 数字存储相关的转换:

  • 示例 1:这里我们将字节转换为位,函数byteToBit() 以字节为单位接收内存并以位为单位返回内存。

    应用程序.js

    const solverjs = require('solverjs');
      
    const storageInByte = 600;
    const storageInBit  = solverjs.byteToBit(storageInByte);
    console.log(`${storageInByte} byte = ${storageInBit} bit`);
    

    输出:

  • 示例 2:这里我们将千兆字节转换为千字节,函数gbToKb() 以千兆字节为单位接收内存并以千字节为单位返回内存。

    应用程序.js

    const solverjs = require('solverjs');
      
    const storageInGigaByte = 1.5;
    const storageInKiloByte  = solverjs.gbToKb(storageInGigaByte);
    console.log(`${storageInGigaByte} gb = ${storageInKiloByte} kb`);
    

    输出:

1.4 时间相关转换:

  • 示例 1:这里我们将纳秒转换为微秒,函数nsToUs() 以纳秒为单位接收时间,并以微秒为单位返回时间。

    应用程序.js

    const solverjs = require('solverjs');
      
    const timeInNanoSecond = 1500;
    const timeInMicroSecond  = solverjs.nsToUs(timeInNanoSecond);
    console.log(`${timeInNanoSecond} ns = ${timeInMicroSecond} microsecond`);
    

    输出:

  • 示例 2:这里我们将纳秒转换为月,函数nsToMm() 以纳秒为单位接收时间并以月为单位返回时间。

    应用程序.js

    const solverjs = require('solverjs');
      
    const timeInNanoSecond = 200000000;
    const timeInMonth  = solverjs.nsToMm(timeInNanoSecond);
    console.log(`${timeInNanoSecond} ns = ${timeInMonth} month`);
    

    输出:

1.5 与温度相关的转换:

  • 示例 1:这里我们将摄氏度转换为开尔文,函数celToKel() 接收以摄氏度为单位的温度并返回以开尔文为单位的温度。

    应用程序.js

    const solverjs = require('solverjs');
      
    const temperatureInCelsius = 4;
    const temperatureInKelvin  = solverjs.celToKel(temperatureInCelsius);
    console.log(`${temperatureInCelsius} celsius = ${temperatureInKelvin} kelvin`);
    

    输出:

  • 示例 2:这里我们将开尔文转换为华氏度,函数kelToFah() 接收开尔文温度并返回华氏温度。

    应用程序.js

    const solverjs = require('solverjs');
      
    const temperatureInKelvin = 500;
    const temperatureInFahreinheit  = solverjs.kelToFah(temperatureInKelvin);
    console.log(`${temperatureInKelvin} kelvin = ${temperatureInFahreinheit} fahreinheit`);
    

    输出:

该库中有许多可用的转换方法,此处未使用,但语法、我们使用它们的方式和工作方式保持不变,因此您可以非常轻松地自行探索。

2. 数制转换:有许多与数字从一种数制到另一种数制转换相关的功能。此类别中每个函数的基本结构如下所示:

Name: numberInOneNumberSystemToNumberInAnotherNumberSystem()
Argument: numberInGivenNumberSystem
Return Value: numberInRequiredNumberSystem 

以下是不同数制之间转换的两个示例。

示例 1:这里我们将十六进制数转换为八进制数,函数hexToOct() 接收十六进制数并返回八进制数。

应用程序.js

const solverjs = require('solverjs');
  
const hexNumber  = '12A';
const octNumber = solverjs.hexToOct(hexNumber);
console.log(`${hexNumber} in hexadecimal  = 0o${octNumber} in octal`);

输出:

示例 2:这里我们将十进制数转换为二进制数,函数decToBin() 接收十进制数系统中的数字并返回二进制数系统中的数字。

应用程序.js

const solverjs = require('solverjs');
  
const decimalNumber  = 25;
const binaryNumber = solverjs.decToBin(decimalNumber);
console.log(`${decimalNumber} in decimal = ${binaryNumber} in binary`);

输出:

3.矩阵运算矩阵运算在任何应用程序中都很常见,这个库提供了各种函数来操作矩阵。下面练习了两种常见的方法,即矩阵的加法和减法。

示例:在程序开始时,我们创建两个矩阵来执行操作,
matAdd()函数接收两个矩阵作为参数并返回这些矩阵的加法,我们将结果存储在一个变量中。 matSub()函数接收两个矩阵作为参数并返回这些矩阵中的第一个减去第二个,我们还将结果存储在另一个变量中。在程序的最后,我们只是打印那些创建的变量,实际上,它们是二维数组,所以我们可以运行一个 for 循环来打印整个数组。

应用程序.js

const solverjs = require('solverjs');
const matrix1 = [ 
        [1,2,4],
        [6,3,9],
        [9,5,5]
    ];
const matrix2 = [ 
    [3,1,9],
    [10,12,2],
    [19,8,5]
];
  
const matrixSum12 = solverjs.matAdd(matrix1, matrix2);
const matrixSubtract12 = solverjs.matSub(matrix1, matrix2);
  
console.log("Sum of Given Matrices");
for(let i = 0;i<3;i++) console.log(matrixSum12[i]);   
  
console.log("Subtraction of 2nd matrix from 1st");
for(let i = 0;i<3;i++) console.log(matrixSubtract12[i]);

输出:

4. 数学逻辑:数学在编程中无处不在,我们经常需要它solverJS提供了很多函数下面是5个例子,

例1:这里要判断一个数是否为回文,函数isPalindrome(),接收一个数,根据该数是否为回文的条件返回真或假。我们使用三元运算符简单地在 true 或其他 false 上执行一段代码。在我们的例子中,第一个 console.log 语句将被执行。

应用程序.js

const solverjs = require('solverjs');
  
const num1  = 12233221;
solverjs.isPalindrome(num1) ? console.log(`${num1} is Palindrome`) :
console.log(`${num1} is not Palindrome`);

输出:

例子2:这里我们要找一个与给定数字相反的数字,函数reverse(),接收一个数字,并根据给定的数字返回相反的数字。

应用程序.js

const solverjs = require('solverjs');
  
const num2 = 43215; 
const num2Reverse = solverjs.reverse(num2);
console.log(`Reverse of ${num2} is ${num2Reverse}`);

输出

示例 3:这里我们正在寻找给定数字的阶乘, fac() 这个函数a 接收数字并返回阶乘。

应用程序.js

const solverjs = require('solverjs');
  
const num6 = 8;
const num6Factorial = solverjs.fac(num6);
console.log(`Factorial of ${num6} is ${num6Factorial}`);

输出:

此外,该库还提供了更多此处未使用的方法,例如幂函数、打印斐波那契数列、寻找斐波那契、计算模数等。

5. 字符串操作:这些是与字符串操作相关的一些函数,在第一个示例中,我们要查找给定句子中的总单词,而在第二个示例中,我们要查找给定单词的总排列。

示例 1:这里我们要查找给定字符串中的单词数, wordCount()函数 收到 一个字符串和一个分隔符,它 然后 通过提供的分隔符将字符串分配到单词中。最后,它返回单词的数量。

应用程序.js

const solverjs = require('solverjs');
  
const myString = "GFG provides best content for Computer Science students & developers";
const totalWords = solverjs.wordCount(myString, ' ');
console.log(`Total words in given sentence are ${totalWords}`);

输出:在这里,我们将“”空格上的句子分开并查找总单词。

示例 2:这里我们要查找字符串的总排列,函数permutation() 接收一个字符串并返回一个包含该给定字符串的所有排列的数组。

应用程序.js

const solverjs = require('solverjs');
  
const anotherString = "GFG";
const totalPermutations = solverjs.permutation(anotherString);
console.log(`Total permutations of 'GFG' are ${totalPermutations}`);

输出:

6. 其他实用程序:一些经常使用的额外逻辑,例如,这是第一个中的两个示例,我们在给定日期查找日期,必须采用“dd/mm/yyyy”格式,第二个示例是计算年龄或可以说出当前日期和给定日期之间的差异。

示例 1:这里我们正在计算给定数据的日期,dateToDay() 此函数接收日期作为参数并返回该日期发生的日期。

应用程序.js

const solverjs = require('solverjs');
  
const date = "28/07/2021";
const day  = solverjs.dateToDay(date);
console.log(`There is ${day} on ${date}`);

输出:

示例 2:这里我们根据给定的出生日期计算年龄。函数dobToAge() 以“dd/mm/yyyy”格式接收日期作为参数。在它计算并返回当前日期与给定日期之间的差异之后。

应用程序.js

const solverjs = require('solverjs');
  
const dateOfBirth = "25/01/2001";
const calculatedAge = solverjs.dobToAge(dateOfBirth);
console.log(`The age according to DOB ${dateOfBirth} is ${calculatedAge}`);

输出:

不仅如此,SolverJS 包含的方法比我们解释的要多得多,你可以从他们的Package Docs中查看它们。