プログラミングの際には、いろいろな方法を使いますが、実際、自分で書いたり、関数にカプセル化したり、使うときに直接呼び出すこともできます。とても便利です。もちろん、書くものはそれほど良くありません。公式ウェブサイトとして、しかし少なくともそれはあなたのニーズを満たすことです、いくつかの一般的な方法の記述を見てみましょう;
1.主要な要因を分解します:
数は分解する必要がある数であり、分解の結果が返されます。
function (number) {
var arr = [];
var numberCopy = number;
while (number!=1) {
for (var i = 2; i < =number; i++) {
if (number % i == 0) {
arr.push(i);
number = number / i;
break;
}
}
}
return console.log(numberCopy + "=" + arr.join("*"));
}
2.それが素数であるかどうかを判断します
/**
*
* @param {number} num 输入的某个数
* @param isPrime 判断是否为素数
*/
function isPrime(num){
if(num<2){
return false;
}
for(var j=2;j<num/2;j++){
if(num%j==0){
return false;
}
}
return true;
}
3.ランダムな文字列。検証コードの記述によく使用されます
function(len){
var temp='';
for(var i=65;i<65+26;i++){
temp+=String.fromCharCode(i);
}
for(var i=97;i<97+26;i++){
temp+=String.fromCharCode(i);
}
for(var i=48;i<48+10;i++){
temp+=String.fromCharCode(i);
}
var res='';
for(var j=0;j<len;j++){
var index=this.getrandom(0,temp.length-1);
res+=temp[index];
}
return console.log(res);
},
getrandom:function(max,min){
return Math.floor(Math.random()*(max+1-min)+min);
}
4.文字列で最も多く出現する文字を見つけ、その文字と出現回数を印刷します
function(str){
var recode={
};
var res={
};
for(var i=0;i<str.length;i++){
if(recode[str[i]]){
recode[str[i]]++;
}else{
recode[str[i]]=1;
}
}
res.maxcount=0;
for(var key in recode){
if(recode[key]>res.maxcount){
res.member=key;
res.maxcount=recode[key];
}
}
console.log(res);
}
5.配列内の重複アイテムを削除します
方法1:
function (arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr[j] == arr[j + 1]) {
delete arr[j + 1];
}
}
}
return console.log(arr);
}
方法2:
function (arr) {
var newarr=[];
for(var i=0;i<arr.length-1;i++){
if(newarr.indexOf(arr[i])==-1){
newarr.push(arr[i]);
}
}
return console.log(newarr);
}
方法3:
function (arr) {
for(var i=0 , newarr=[] , hash={
};i<arr.length;i++){
if(hash[arr[i]]===undefined){
newarr.push(arr[i]);
hash[arr[i]]='123';
}
}
return console.log(newarr);
}
6.配列
の並べ替えここで引用されている項目は、要件である特定の方法です。昇順、降順など、他の並べ替え方法を自分で追加することもできます。
function (arr, items) {
if (!items) {
items = function (a, b) {
if (a > b) {
return1;
} else if (a === b) {
return 0;
} else {
return -1;
}
}
}
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (items(arr[j], arr[j + 1]) > 0) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return console.log(arr);
}
// 升序方法
function items1(a, b) {
if (a > b) {
return true;
}
}
// 降序方法
function items2(a, b) {
if (b > a)
return true;
}
7.アレイの先頭にデータを追加します
Array.prototype.unshift = function (arr) {
for (var y = this.length + arguments.length - 1; y > 0; y--) {
this[y] = this[y - arguments.length];
}
for (var i = 0; i < arguments.length; i++) {
this[i] = arguments[i];
}
return this.length;
}
arr.unshift1(6, 7, 3, 0);
console.log(arr);
8.配列の後に追加します
Array.prototype.push1 = function(arr){
// this当前调用push1的数组
// arguments 传递进来的所有参数
for(var i = 0; i < arguments.length; i++){
this[this.length] = arguments[i];
}
return this.length;
}
arr.push1(10);
console.log(arr);
9. nのレベルを計算し、nを入力できます
function (a) {
var sum = 1;
for (var i = 1; i <= a; i++) {
sum *= i;
}
return console.log(sum);
}