1、拿到百位上的数字、十位上的数字、个位上的数字。
思路:百位上的数字用百位除以一百并向下取整。十位上的数字用十位除以10并向下取整。个位上的数字直接取余10得到的余数就是个位上的数字。
var bai = Math.floor(i / 100); 得到百位数上的数字
var shi = Math.floor(i % 100 / 10); 得到十位数上的数字
var ge = i % 10; 得到个位上的数字
2、任意输入一个整数,翻转输出这个数字的每一个数字;
思路:当我们想和用户进行数据交互的时候,一定要考虑到,如果用户输入的不是我们想要的数据,就要提醒他。
var number = parseInt(prompt("请输入一个;整数:"));
if (number) {
while (number !== 0) {
var tmp = number % 10;
number = parseInt(number / 10);
console.log(tmp);
}
}else if (number === 0) {
alert(0);
}else {
alert("输入错误");
}
3、求一组数中的最大值。
function getMax(array) {
array = array || [];//要求array是数组,如果用户输入的不是数组要给他默认为数组。
if (array.length == 0) {
return; //若用户输入的是空数组,则直接return
}
var max = array[0];
for (var i = 1; i < array.length; i++) {
max = max < array[i] ? array[i] : max; //交换位置,每次循环max的值都会重新被赋值。
}
return max;
}
var array = [1, 2, 3, 4, 5, 6];
console.log(getMax(array));
使用三元运算符简化代码。
4、冒泡排序封装在函数中。
function getArray(array) {
array = array || [];//如果用户输入的不是一个数组,那么就让它默认为一个数组。
if (array.length == 0) {
return; //如果用户输入的是一个空数组,那么就让此函数直接结束。
}
for (var i = 1; i < array.length; i++) {
var isSort = true;
for (var j = 0; j < array.length - 1; j++) {
if (array[j] > array[j + 1]) {
var tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
isSort = false;
}
}
if (isSort) { //isSort作用是提高浏览器的计算性能。
break;
}
}
return array;
}
var array = [10, 5, 8, 3, 6, 2];
console.log(getArray(array));
5、求任意数的阶乘。(1-n之间的乘积)
function getJc(n) {
var jc = 1;
for (var i = 2; i <= n; i++) {
jc *= i;
}
return jc;
}
console.log(getJc(3));