JavaScript —— JSchallenger Basics 基础练习(测试一下你的 JS 基础)【专题一】

简介: JavaScript —— JSchallenger Basics 基础练习(测试一下你的 JS 基础)【专题一】

一、JavaScript 基础

1. 将两个数字相加:

myFunction(1,2) —> 预期的 3

  function myFunction(a, b){
    return a + b
  }
2. 比较运算符,严格相等:

myFunction(2, 3) —> 预期的 false

myFunction(3, 3) —> 预期的 true

  function myFunction(a, b){
    return a === b
  }
3. 获取值类型:

myFunction(1) —>预期的 ‘number’

myFunction(false) —>预期的 ‘boolean’

myFunction({}) —> 预期的 ‘object’。

  function myFunction(a){
    return typeof a
  }
4. 获取字符串的第 n 个字符:

myFunction(‘abcd’,1) —> 预期的 ‘a’

myFunction(‘zyxbwpl’,5) —> 预期的 ‘w’

  function myFunction (a, n) {
        return a[n-1]
    }
5. 删除字符串的前 n 个字符:

myFunction(‘abcdefg’) —> 预期的 ‘defg’

myFunction(‘1234’) —> 预期的 ‘4’

myFunction(‘fgedcba’) —> 预期的 ‘dcba’

方法一:slice()

  function myFunction (a) {
        return a.slice(3)
    }

方法二:substring()

  function myFunction (a) {
        return a.substring(3)
    }

扩展:


slice提取字符串的一部分并在不修改原始字符串的情况下返回它。要定义要提取的部分,可以使用两个参数调用它。第一个参数定义要提取的字符串中第一个字符的索引。第二个参数定义您不想提取的第一个字符的索引。

console.log(‘abcd’.slice(1,3)) // bc

第二个参数是可选的。如果未定义,slice将仅返回从您定义的 start-index 开始的所有字符。

console.log(‘abcd’.slice(1)) // bcd

6. 获取字符串的最后 n 个字符:

myFunction(‘abcdefg’) —> 预期的 ‘efg’

myFunction(‘1234’) —> 预期的 ‘234’

  function myFunction (a) {
        return a.slice(-3)
    }

扩展:slice 使用负的 startIndex 调用。在这种情况下,startIndex不是索引,而是通过从字符串末尾向后计数来标识起始位置。

7. 获取字符串的前 n 个字符:

myFunction(‘abcdefg’) —> 预期的 ‘abc’

myFunction(‘1234’) —> 预期的 ‘123’

myFunction(‘fgedcba’) —> 预期的 ‘fge’

  function myFunction (a) {
        return a.slice(0, 3)
    }
8. 提取字符串的前半部分:

myFunction(‘1234’) —>预期的 ‘12’

myFunction(‘gedcba’) —> 预期的 ‘ged’

  function myFunction (a) {
        return a.slice(0, a.length/2)
    }
9. 删除字符串的最后 n 个字符:

myFunction(‘abcdefg’) —> 预期的 ‘abcd’

myFunction(‘1234’) —> 预期的 ‘1’

myFunction(‘fgedcba’) —> 预期的 ‘fged’

  function myFunction (a) {
        return a.slice(0, -3) // a.slice(0, a.length-3)
    }
10. 返回数字的百分比:

myFunction(100,50) —> 预期的 50

myFunction(10,1) —> 预期的 0.1

myFunction(500,25) —> 预期的 125

  function myFunction(a, b){
    return a * b * 0.01
  }
11. 基本的 JavaScript 数学运算符:

编写一个以6个值(a、b、c、d、e、f)为参数的函数

a和b之和

然后减去c

然后乘以d,除以e

最后提升到f的幂并返回结果


myFunction(6,5,4,3,2,1) —> 预期的 10.5

myFunction(6,2,1,4,2,3) —> 预期的 2744

  function myFunction(a, b, c, d, e, f){
    return (((a+b)-c)*d/e)**f
  }
12. 检查一个数是否是偶数

myFunction(10) —> 预期的 true

myFunction(-4) —> 预期的 true

myFunction(5) —> 预期的 false

myFunction(-111) —> 预期的 false

  function myFunction(a){
    return a % 2 === 0
  }
13. 一个字符出现多少次:

myFunction(‘m’, ‘how many times’) —> 预期的 2

myFunction(‘h’, ‘how many times’) —> 预期的 1

  function myFunction (a,b) {
        return b.split(a).length - 1
    }

8962df06f0d748adba5ed7f0de38695f.png

split() 方法用于把一个字符串分割成字符串数组。

14. 检查一个数字是否为整数:

myFunction(4) —> 预期的 true

myFunction(1.123) —> 预期的 false

  function myFunction(a) {
      return a - Math.floor(a) === 0 // a % 1 === 0
  }
15. 比较运算符:
a 比 b 小,返回 a / b
a 比 b 大,返回 a * b 

myFunction(8, 20) —> 预期的 0.4

myFunction(2, 0.5) —> 预期的 1

  function myFunction(a, b) {
    return a < b ? a / b : a * b
  }
16. 检查一个字符串是否包含另一个字符串并连接:

如果 a 包含 b,则将 b 附加到 a 的开头

如果没有,将其附加到末尾


myFunction(‘Java’, ‘Script’) —> 预期的 ‘JavaScript’

myFunction(’ think, therefore I am’, ‘I’) —> 预期的 ‘I think, therefore I am’

方法一:indexOf()

  function myFunction(a, b) {
      return a.indexOf(b) === -1 ? a + b : b + a
  }

在字符串中查找字符串

字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置

方法二: match()

  function myFunction(a, b) { 
      return a.match(b) ? b + a : a + b
  }

match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。

17. 将数字四舍五入到小数点后 2 位:

myFunction(2.12397) —> 预期的 2.12

myFunction(3.136) —> 预期的 3.14

  function myFunction(a, b) {
      return a.toFixed(2)
  }
18. 拆分数字并以数组的方式返回:

myFunction(10) —> 预期的 [1,0]

myFunction(931) —> 预期的 [9,3,1]

方法一:

  function myFunction( a ) {
      const string = a + '';
    const strings = string.split('');
    return strings.map(digit => Number(digit))
  }

方法二:

  function myFunction(a) {
      return a.toString().split("").map(num => parseInt(num))
  }

split() 方法用于把一个字符串分割成字符串数组。

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

19. 拼接两个字符串(前面的字符串首字母大写)(后面的字符串翻转

myFunction(‘java’, ‘tpi%rcs’) => 预期的 ‘Javascript’

myFunction(‘c%ountry’, ‘edis’) => 预期的 ‘Countryside’

myFunction(‘down’, ‘nw%ot’) => 预期的 ‘Downtown’

方法一 (菜鸟式写法):

  function myFunction(a, b) {
     let arr = b.split('') //将 b 从字符串转为数组
     let reverse = arr.reverse() //翻转数组 arr
     let string = reverse.join('') //将翻转的数组从数组转为字符串
     let aUpper = a[0].toUpperCase() + a.slice(1) //将a 的首字母大写再拼接剩余的字母
     let str = aUpper + string //拼接两个改造好的字符串
     let rep = str.replace(/%/g,'') //全局替换 % 为 ''
     return rep
  }

方法二 (大神式写法):

  function myFunction(a, b) {
    const func = x => x.replace('%','') //定义去除 % 的函数
    const first = func(a) //第一个字符串去符号
    const second = func(b).split('').reverse().join('') //第二个字符串去符号 转为数组 翻转 再转为字符串
    return first.charAt(0).toUpperCase() + first.slice(1) + second //返回改造后的字符串 并使第一个字符串首字母大写
  }

不积跬步无以至千里 不积小流无以成江海

相关文章
|
27天前
|
机器学习/深度学习 人工智能 JavaScript
js和JavaScript
js和JavaScript
21 4
|
1月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
27 2
|
5天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
7 1
|
27天前
|
JavaScript 前端开发
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
14 1
|
1月前
|
JavaScript 前端开发
js开发:请解释什么是模块化(modularization),并说明如何在JavaScript中实现模块化。
模块化将复杂系统拆分为松散耦合的模块,提高代码可读性、可维护性、可复用性和可扩展性。JavaScript模块化历经CommonJS(Node.js中常见,使用`require()`和`module.exports`)、AMD(RequireJS,异步加载,`define()`和`require()`)和ES6 Modules(官方标准,`import`和`export`)三个阶段。打包工具如Webpack、Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
|
1月前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
JavaScript中的`this`关键字根据执行上下文指向不同对象:全局作用域中指向全局对象(如`window`),普通函数中默认指向全局对象,但作为对象方法时指向该对象。在构造函数中,`this`指向新实例。箭头函数不绑定`this`,而是继承上下文的`this`值。可通过`call`、`apply`、`bind`方法显式改变`this`指向。
11 2
|
1月前
|
JavaScript 前端开发
编程笔记 html5&css&js 079 JavaScript 循环语句
编程笔记 html5&css&js 079 JavaScript 循环语句
|
1月前
|
JavaScript 前端开发 开发者
编程笔记 html5&css&js 078 JavaScript 条件判断语句
条件判断语句是首先要接触的语句。通过条件判断来执行不同的代码块。
|
1月前
|
JavaScript 前端开发 编译器
编程笔记 html5&css&js 077 Javascript 关键字
编程笔记 html5&css&js 077 Javascript 关键字
|
1月前
|
JavaScript 前端开发
编程笔记 html5&css&js 076 Javascript 表达式
编程笔记 html5&css&js 076 Javascript 表达式