每天五到js算法题 day2

1.反转字符串:编写一个函数,将输入的字符串反转输出

下面是代码解析

function reverseString(str) {
  return str.split('').reverse().join('');
}

console.log(reverseString('Hello World')); // 输出:dlroW olleH

可以使用split('')方法将字符串转换为字符数组,然后使用reverse()方法反转数组元素的顺序,最后使用join('')方法将字符数组转换为字符串。

2.判断回文字符串 :编写一个函数,判断输入的字符串是否是回文字符串

代码解析

function isPalindrome(str) {
  const reversedStr = str.split('').reverse().join('');
  return str === reversedStr;
}

console.log(isPalindrome('level')); // 输出:true
console.log(isPalindrome('hello')); // 输出:false

 可以使用与上题类似的方法,将字符串反转后与原字符串进行比较,如果相等则是回文字符串。

3.找最大值和最小值 :编写一个函数,接受一个数字数组作为参数,返回数组中的最大值和最小值。

代码解析

function findMinMax(arr) {
  let min = arr[0];
  let max = arr[0];
  
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < min) {
      min = arr[i];
    }
    if (arr[i] > max) {
      max = arr[i];
    }
  }
  
  return { min, max };
}

console.log(findMinMax([1, 2, 3, 4, 5])); // 输出:{ min: 1, max: 5 }

 使用两个变量minmax来保存当前的最小值和最大值,然后遍历数组,如果当前元素比min小,则更新min,如果当前元素比max大,则更新max

4.斐波那契数列 :编写一个函数,接受一个数字n作为参数,返回斐波那契数列的第n个数字。

代码解析

function fibonacci(n) {
  if (n <= 1) {
    return n;
  }
  
  let a = 0;
  let b = 1;
  let result;
  
  for (let i = 2; i <= n; i++) {
    result = a + b;
    a = b;
    b = result;
  }
  
  return result;
}

console.log(fibonacci(6)); // 输出:8

 斐波那契数列是一个数列,每个数字都是前两个数字之和。我们使用两个变量ab来保存前两个数字,然后通过循环计算下一个数字,最后返回第n个数字。

5.判断素数 :编写一个函数,判断输入的数字是否是素数(只能被1和自身整除)

代码解析

function isPrime(num) {
  if (num <= 1) {
    return false;
  }
  
  for (let i = 2; i <= Math.sqrt(num); i++) {
    if (num % i === 0) {
      return false;
    }
  }
  
  return true;
}

console.log(isPrime(17)); // 输出:true
console.log(isPrime(10)); // 输出:false

 从2开始遍历到数字的平方根,如果存在能整除的数,则该数字不是素数;否则,该数字是素数

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 uni-app 中,可以使用 Vue.js 的 mixin 方法来创建公共的 JavaScript 方法。 例如,在创建一个 mixin 对象并添加一个公共方法: ``` const myMixin = { methods: { myMethod() { console.log('Hello from myMethod') } } } ``` 然后,在你的 Vue 组件中引用这个 mixin: ``` export default { mixins: [myMixin], // ... } ``` 这样,在你的组件中就可以使用 `myMethod` 方法了。 注意:在 mixin 中定义的方法名如果与组件中的 data、computed、methods 中的属性名重名,则会被组件中的属性覆盖。 ### 回答2: 创建一个公共的JS方法可以将其定义在一个utils.js文件中,然后将该文件引入到uniapp的相关页面中。 首先,创建一个名为utils.js的新文件,并在文件中定义一个公共的JS方法,以便在整个uniapp应用中使用。例如,我们创建一个名为formatDate的方法用于格式化日期: ```javascript // utils.js export function formatDate(date) { // 逻辑代码,对日期进行格式化处理 } ``` 然后,在需要使用公共JS方法的页面中,通过import语句引入utils.js文件: ```javascript import { formatDate } from '@/utils.js' export default { data() { return { // 页面数据 } }, methods: { // 其他方法 handleDate() { const currentDate = new Date() const formattedDate = formatDate(currentDate) console.log(formattedDate) } } } ``` 在具体的页面逻辑中,我们可以通过调用`formatDate`方法来使用公共JS方法,并将返回值保存在需要的变量中或者进行其他逻辑操作。 需要注意的是,为了在uniapp中使用ES6模块化的语法(如 import/export),需要将utils.js文件的后缀名更改为.js,且在引入时使用@符号来代表uniapp项目的根目录。 这样通过创建并引入utils.js文件,我们就可以很方便地在uniapp应用的不同页面中使用公共的JS方法了。 ### 回答3: 使用Uniapp创建一个公共的JS方法可以有很多种实现方式,下面我列举了一种常用的方法。 首先,在Uniapp项目的根目录下创建一个`common.js`文件,用来存放公共的JS方法。 然后,可以定义一些常用的函数,例如: 1. 格式化日期函数:可以用来将时间戳转换成指定格式的日期字符串。 ```javascript function formatDate(timestamp, format) { const date = new Date(timestamp); const year = date.getFullYear(); const month = (date.getMonth() + 1).toString().padStart(2, '0'); const day = date.getDate().toString().padStart(2, '0'); const hour = date.getHours().toString().padStart(2, '0'); const minute = date.getMinutes().toString().padStart(2, '0'); const second = date.getSeconds().toString().padStart(2, '0'); const formatObj = { 'yyyy': year, 'MM': month, 'dd': day, 'HH': hour, 'mm': minute, 'ss': second }; return format.replace(/(yyyy|MM|dd|HH|mm|ss)/g, key => formatObj[key]); } // 调用示例 const timestamp = new Date().getTime(); const formattedDate = formatDate(timestamp, 'yyyy-MM-dd HH:mm:ss'); // 输出示例:'2022-01-01 12:00:00' ``` 2. 验证手机号函数:可以用来判断输入的手机号是否符合指定的手机号格式要求。 ```javascript function isPhoneNumber(phoneNumber) { const pattern = /^1[3-9]\d{9}$/; return pattern.test(phoneNumber); } // 调用示例 const phoneNumber = '13812345678'; const isValidPhoneNumber = isPhoneNumber(phoneNumber); // 输出示例:true ``` 3. 加密函数:可以用来对敏感信息进行加密,保护用户隐私。 ```javascript function encryptData(data) { // 加密算法的实现逻辑 // ... return encryptedData; } // 调用示例 const sensitiveData = '这是一段敏感信息'; const encryptedData = encryptData(sensitiveData); // 输出示例:'oi13TRj4qW...' ``` 这是一个简单的示例,你可以根据项目的需求,自定义更多的公共函数,并在需要的地方引入`common.js`文件,然后调用对应的函数即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值