目录
- 1. 1-100之和
- 2. 6的阶乘
- 3. 1-100之间所有偶数和
- 4. 输出1-100之间所有能被7整除的数
- 5. 求100以内所有3的倍数和
- 6. 小星星
- 7. 乘法口诀表
- 8. 利率问题
- 9. 求整数100-200的累加值,但跳过所有个位数为3的数
- 10. 求数组中所有元素的和
- 11. 求数组中所有元素的平均值
- 12. 求数组中所有元素中的最大值
- 13. 倒序遍历数组
- 14. 把数组中的每个元素用 | 拼接到一起
- 15. 去掉数组中的0,把其他的数据放到新数组中
- 16. 反转数组
- 17. 提示用户输入班级人数,求总成绩、平均值、最高分、最低分。
- 18. 判断一个数是整数,还是小数?
- 19. 找出“水仙花数”
- 20. 实现内置Math.max()方法
- 21. 产生随机的十六进制颜色值
- 22. 统计某个字符的个数
- 23. 统计字符串中有多少个数字
- 24. 统计单词个数
- 25. 数组与字符串的转换操作
- 26. 数组与字符串的转换操作
- 27.getDay()方法返回的是一个数字,如果我们想要将数字转换为中文,例如将“星期4”变成“星期四”,这个时候该怎么做呢?
- 28.生成随机验证码
- 28.生成随机颜色值
1. 1-100之和
var sum = 0;
var i = 1;
while(i <= 100){
sum += i;
i++;
}
console.log(sum);
或:
var sum = 0;
for(var i=0;i<=100;i++){
sum += i;
}
console.log(sum);
2. 6的阶乘
var jc = 1;
var i = 1;
while(i <= 6){
jc *= i;
i++;
}
console.log(jc);
3. 1-100之间所有偶数和
var i = 1;
var sum = 0;
while(i <= 100){
if(i%2 == 0){
sum += i;
}
i++;
}
console.log(sum);
或:
var sum = 0;
for(var i=0;i<=100;i++){
if(i%2==0){
sum += i;
}
}
console.log(sum);
1-100所有奇数和:
var sum = 0;
var i = 1;
while(i<=100){
if(i%2==0){
i++;
continue;
}
sum +=i;
i++;
}
console.log(sum);
4. 输出1-100之间所有能被7整除的数
var i = 0;
while(i <= 100){
if(i%7 == 0){
console.log(i);
}
i++;
}
5. 求100以内所有3的倍数和
var i = 1;
var sum = 0;
while(i<=100){
if(i%3==0){
sum += i;
}
i++;
}
console.log(sum);
或:
var i = 1;
var sum = 0;
do{
if(i%3==0){
sum += i;
}
i++;
}while(i<=100)
console.log(sum);
6. 小星星
for(var i=0;i<=5;i++){
for(var j=0;j<=i;j++){
document.write("*");
}
document.write("<br>")
}
7. 乘法口诀表
for(var i=1;i<=9;i++){
for(var j=1;j<=i;j++){
document.write( j+"*"+i+"="+j*i)
document.write(" ");
}
document.write("<br>");
}
8. 利率问题
本金10000元存入银行,年利率是千分之三,每过一年,将本金和利息相加作为新的本金,计算5年之后获得多少本金?
var money = 10000;
var rate = 0.003;
for(var i=0;i<5;i++){
money += money*rate;
}
console.log(money);
9. 求整数100-200的累加值,但跳过所有个位数为3的数
var sum = 0;
var i = 100;
while(i<=200){
if(i%10==3){
i++;
continue;
}
sum += i;
i++;
}
console.log(sum);
10. 求数组中所有元素的和
var arr = [10,20,30,40,50];
var sum = 0;
for(var i=0;i<arr.length;i++){
sum +=arr[i];
}
console.log(sum);
11. 求数组中所有元素的平均值
var arr = [10,20,30,40,50];
var sum = 0;
for(var i=0;i<arr.length;i++){
sum +=arr[i];
}
console.log(sum/arr.length);
12. 求数组中所有元素中的最大值
var arr = [10,20,30,40,50];
var max = arr[0];
for(var i=1;i<arr.length;i++){
if(max<arr[i]){
max = arr[i];
}
}
console.log(max);
13. 倒序遍历数组
var arr = [10,20,30,40,50];
var max = arr[0];
for(var i=arr.length-1;i>=0;i--){
console.log(arr[i]);
}
14. 把数组中的每个元素用 | 拼接到一起
var names = ["小明","小红","小刚"]
var str = "";
for(var i=0;i<names.length;i++){
str += names[i]+"|";
}
console.log(str);
15. 去掉数组中的0,把其他的数据放到新数组中
var arr = [10,0,20,30,0,40,50];
var newArr = [];
for(var i=0;i<arr.length;i++)
if(arr[i] != 0){
newArr[newArr.length] = arr[i];
}
console.log(newArr);
16. 反转数组
var arr = [10,20,30,40,50];
for(var i=0;i<arr.length/2;i++){
var temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length - 1 - i] = temp;
}
console.log(arr);
17. 提示用户输入班级人数,求总成绩、平均值、最高分、最低分。
var perCount = parseInt(prompt("请输入班级人数"));
var perScores = [];
for(var i=0;i<perCount;i++){
perScores[perScores.length] = parseInt(prompt("请输入第"+(i+1)+"位同学的成绩"));
}
console.log(perScores);
// 总成绩
var sum = 0;
for(var i=0;i<perScores.length;i++){
sum += perScores[i];
}
// 平均成绩
var avg = 0;
avg = sum/perScores.length;
// 最高分、最低分
var max = perScores[0];
var min = perScores[0];
for (var i = 0; i < perScores.length; i++) {
if(max<perScores[i]){
max = perScores[i];
}
if(min>perScores[i]){
min = perScores[i];
}
}
console.log("总成绩为:"+sum+"、"+"平均成绩为:"+avg+"、"+"最高分为:"+max+"、"+"最低分为:"+min+"。")
18. 判断一个数是整数,还是小数?
对于一个“数字型字符串”,如果这个数字是整数,则parseInt()和parseFloat()两个方法返回的结果是一样的,例如parseInt(“2017”)返回2017,parseFloat(“2017”)返回2017。如果这个数字是小数,则parseInt()和parseFloat()两个返回的结果是不一样的,例如parseInt(“3.14”)返回3,而parseFloat(“3.14”)返回的是3.14。
也就是说,如果是整数,则parseInt()和parseFloat()返回结果一样。如果是小数,则parseInt()和parseFloat()返回结果不一样。因此我们可以通过这个特点,来判断一个数是整数,还是小数。
var n = 3.14;
if (parseInt(n.toString()) == parseFloat(n.toString()))
{
document.write(n+ "是整数")
}
else
{
document.write(n + "是小数")
}
19. 找出“水仙花数”
所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数的本身。例如153就是一个水仙花数,因为153 = 13 + 53 + 33。
//定义一个空字符串,用来保存水仙花数
var str = "";
for (var i = 100; i < 1000; i++)
{
var a = i % 10; //提取个位数
var b = (i / 10) % 10 //提取十位数
b = parseInt(b); //舍弃小数部分
var c = i / 100; //提取百位数
c = parseInt(c); //舍弃小数部分
if (i == (a * a * a + b * b * b + c * c * c))
{
str = str + i + "、";
}
}
document.write("水仙花数有:" + str);
20. 实现内置Math.max()方法
function MyMath() {
this.getMax = function () {
var max = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (max < arguments[i]) {
max = arguments[i];
}
}
return max;
};
}
var mt = new MyMath();
var result = mt.getMax(10, 20, 30, 5, 9, 100, 50, 46);
console.log(result);
21. 产生随机的十六进制颜色值
function getColor() {
var str = "#";
var arr = [
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"a",
"b",
"c",
"d",
"e",
"f",
];
for (var i = 0; i < 6; i++) {
var num = parseInt(Math.random() * 16);
str += arr[num];
}
return str;
}
console.log(getColor());
22. 统计某个字符的个数
var str = "Can you can a can as a Canner can can a can";
var n = 0;
for (var i = 0; i < str.length; i++) {
//获取字符串中的每个字符
var char = str.charAt(i);
if (char.toLowerCase() == "c") {
n += 1;
}
}
console.log(n);
23. 统计字符串中有多少个数字
function getNum(str) {
var num = 0;
for (var i = 0; i < str.length; i++) {
var char = str.charAt(i);
if (char != " " && !isNaN(char)) {
num++;
}
}
return num;
}
console.log(getNum("1d3sdsg"));
24. 统计单词个数
//统计空格个数,然后加1
var str = "Rome was not built in a day";
var n = 0;
for (var i = 0; i < str.length; i++) {
if (str.charAt(i) == " ") {
n++;
}
}
n++;
console.log(n);
25. 数组与字符串的转换操作
var str1 = "今天吃什么";
var str2 = str1.split("").join("><");
var arr = str2.split("");
arr.unshift("<");
arr.push(">");
var result = arr.join("");
console.log(result);
var str2 = str1.split("").join("><");表示在str1所有字符的中间插入大于号和小于号(><),因此str2为"今><天><吃><什><么"。
var arr = str2.split("");表示将str2转换为数组,str2中每一个字符都是数组的一个元素。因为只有将str2转换为数组,我们才可以使用数组的unshift()方法和push()方法。
26. 数组与字符串的转换操作
function getSize(width, height, depth)
{
var area = width * height;
var volume = width * height * depth;
var sizes = [area, volume];
return sizes;
}
var arr = getSize(30, 40, 10);
document.write("底部面积为:" + arr[0] + "<br/>");
document.write("体积为:" + arr[1]);
一般情况下,函数只可以返回一个值或变量。由于这里需要返回长方体底部面积和体积两个值,因此我们可以使用数组来保存。
27.getDay()方法返回的是一个数字,如果我们想要将数字转换为中文,例如将“星期4”变成“星期四”,这个时候该怎么做呢?
var weekday = [
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
];
var d = new Date();
document.write("今天是" + weekday[d.getDay()]);
28.生成随机验证码
var str =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
var arr = str.split("");
// console.log(arr);
var result = "";
for (var i = 0; i < 4; i++) {
var n = Math.floor(Math.random() * arr.length);
result += arr[n];
}
document.write(result);
这里注意一点,由于数组下标是从0开始的,因此var n = Math.floor(Math.random() * (arr.length+1);这种写法是错误的。
28.生成随机颜色值
function getRandomColor() {
var r = Math.floor(Math.random() * (255 + 1));
var g = Math.floor(Math.random() * (255 + 1));
var b = Math.floor(Math.random() * (255 + 1));
var rgb = "rgb(" + r + "," + g + "," + b + ")";
return rgb;
}
document.write(getRandomColor());