Skip to content

Latest commit

 

History

History
85 lines (53 loc) · 2.76 KB

README.md

File metadata and controls

85 lines (53 loc) · 2.76 KB

江涛题库

题库来自参加工作后的生活总结实践,如果没有特别指出,统统在说Javascript,故事看文字,代码看链接

ataolaGT_B_0001: 随机数

题目很开放的,你能想到的随机数整法,想怎么搞就怎么搞呗

首先,不要交智商税的像点人样的语言都有random这种API,在JavaScript中Math对象就有
这样的API,具体的看楼下。
    Math.random() 取值范围 [0,1)
所以我们今天就站在它的肩膀上搞它

根据它的特性我们很容易想到去做一个左边取得到,右边取不到的这样一个范围的例子,再结
合生活实际,我想到的是抽奖,那么我们就定了,抽一个整数范围,好啦开始写。

后续我们期望是取到整数的,Math.floor()

这里我们根据已有的JS的API已经实现了个简陋的随机函数,那我们进阶要做的是,不依赖于
JS的随机函数random怎么去实现呢?

中学好像有个例子,把π转换成角度,然后把角度换回π。
度 [0, 360),弧度[0, 2*PI)

ataolaGT_B_0001.js

ataolaGT_B_0002: 三角函数与反三角函数

还是老规矩,想到啥,研究啥。。。。。。

具体的一些基础知识可以去代码家那里看三角函数部分


三角函数特殊值

三角函数角度与弧度转换

ataolaGT_B_0003: 两点间距

#根据楼上的思考,求两个点的距离,

这个中学数学也学过,分别是两点横纵坐标相减,然后平方相加再开方
巧的是,Math.sqrt()和Math.pow()可以解决上述问题。

那就先搞一个初版吧

两点相距

ataolaGT_B_0004: 排序:

在数组中,本身就有sort()函数,它有什么缺陷呢, 我举个例子,例如,有一个书1, 有一个数10, 然后一个数8好了,你打出来就会发现,不符合我们的预期,所以,我们需要对数组排序进行优化,这里先进行简单的数字比较吧,用了sort以后会改变原数组的。

排序优化

ataolaGT_B_0005: 随机打乱数组:

做一个随机打乱数组的例子,这里跟那个抽奖就很类似了, 随机抽一个,就是你把它打乱以后,随机返回一个数组的值

随机打乱数组

ataolaGT_B_0006: 遍历对象的方法:

在JavaScript中遍历对象啊,数组啊是很常见的,这里就先总结下对象的,后续可能还会再增加些

遍历对象的方法

ataolaGT_B_0007: 字符串的相关操作:

字符串的相关操作

字符串的相关操作