<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
/**
* 轉十進制
* @param str 進制字符串
* @param n 目標進制
* @returns {number}
*/
function string2Algorism(str, n) {
var charCode0 = "0".charCodeAt(),
charCode9 = "9".charCodeAt(),
result = 0;
str = str.toUpperCase();
for (var i = 0; i < str.length; i++) {
var c = str.charCodeAt(i);
var num = 0;
if (c >= charCode0 && c <= charCode9) {
num = Number(str.charAt(i));
} else {
num =c -55;
}
result+= Math.pow(n,str.length-i-1)*num;
}
return result;
}
/**
* 十進制轉任意進制
* @param num
* @param n
* @returns {string}
*/
function algorism2String(num,n) {
var chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var result = "";
while (num > 0) {
result = chars.charAt(num % n) + result;
num = parseInt(num / n);
}
return result;
}
/**
* 十六進制轉字符串
* @param hexCharCodeStr
* @returns {*}
*/
function hexCharCodeToStr(hexCharCodeStr) {
var trimedStr = hexCharCodeStr.trim();
var rawStr =
trimedStr.substr(0,2).toLowerCase() === "0x"
?
trimedStr.substr(2)
:
trimedStr;
var len = rawStr.length;
if(len % 2 !== 0) {
alert("Illegal Format ASCII Code!");
return "";
}
var curCharCode;
var resultStr = [];
for(var i = 0; i < len;i = i + 2) {
curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
resultStr.push(String.fromCharCode(curCharCode));
}
return resultStr.join("");
}
/**
* 字符串轉十六進制
* @param str
* @returns {*}
*/
function strToHexCharCode(str) {
if(str === "")
return "";
var hexCharCode = [];
hexCharCode.push("0x");
for(var i = 0; i < str.length; i++) {
hexCharCode.push((str.charCodeAt(i)).toString(16));
}
return hexCharCode.join("");
}
/**
* happynumber
* @param num
* @param results
* @returns {boolean}
*/
function isHappyNumber(num, results) {
var nums = new Array(num.length).fill("").map(function (_, i) {
return parseInt(num.charAt(i))
});
nums.unshift(0);
var result = (nums.reduce(function (total, p2) {
return total + p2 * p2;
}));
if (results.includes(result))return false;
results.push(result);
return result === 1 ? true : isHappyNumber("" + result, results);
}
for (var i = 0; i <= 1000; i++) {
if(isHappyNumber(""+i,[])){
document.write(i+" ")
}
}
/**
* 冒泡排序
* @param nums
*/
function bubbleSort(nums) {
for (var i = 0; i < nums.length-1; i++) {
for (var j = 0; j < nums.length-i-1; j++) {
if(nums[j]>nums[j+1]){
var temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
console.log(nums);
}
/**
* 交換排序
* @param nums
*/
function exchangeSort(nums) {
for (var i = 0; i < nums.length-1; i++) {
for (var j = i+1; j < nums.length; j++) {
if(nums[i]>nums[j]){
var temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
}
console.log(nums);
}
/**
* 選擇排序
* @param nums
*/
function selectSort(nums) {
for (var i = 0; i < nums.length-1; i++) {
var selected=i;
for (var j = i+1; j < nums.length; j++) {
if(nums[j]<nums[selected]){
selected=j;
}
}
if(selected!==i){
var temp=nums[i];
nums[i]=nums[selected]
nums[selected]=temp;
}
}
console.log(nums);
}
// console.log(isHappyNumber("19"))
</script>
</body>
</html>
js基礎練習(一)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.