js演算法題

2021-10-10 19:39:15 字數 3817 閱讀 5215

1、es6方法過濾掉兩個陣列中物件id值相等的項

function(arr1,arr2)
2、判斷是否回文

//如:字串abccba,從前往後讀是a-b-c-c-b-a;從後往前讀也是a-b-c-c-b-a

function reserve1(str)

function reserve2(str)

})return newarr

}var arr = [1,3,4,8,1,9]

4、尾遞迴階乘

function factorial(num)
5、排序

//快速排序

function quicksort(arr)else

}return quicksort(left).concat([middle],quicksort(right));

}console.log(quicksort([2,3,1,4,6,5,9,8,7]))

//氣泡排序

function maopao(arr)

for(var i=0;iarr[j+1])}}

return arr

}var arr = [89,63,78,12,458,24,76,3,49]

console.log(maopao(arr))

6、 統計字串出現次數最多的字母

function findmoreletter(str)

arr = str.split('')

for(var i=0;imaxkey)

}return maxvalue+'最多出現了'+maxkey+'次'

}var str = 'abbbuyymmckhdtgdj'

7、自己定義的new方法

let newmethod = function(fun, ...rest);
8、不借助臨時變數,進行兩個整數的交換

//方法一

function swap(a , b)

方法二[a,b] = [b,a]

9、找出下列正陣列的最大差值

var arr2 =  [10,5,11,7,8,9]

function findmaxprofit(arr)

if(arr[i]10、隨機生成指定長度的字串,實現乙個演算法,隨機生成指制定長度的字元竄 比如給定 長度 8 輸出 4ldkfg9j

function randomstring(n)

}

13、輸入乙個3位數,求這個數的和

function sumnumber(num)
14、寫出**對下列陣列去重並從大到小排列

function fn(arr)}}

return arr.tostring()

}

16、用 js 實現隨機選取 10–100 之間的 10 個數字,存入乙個陣列,並排序。

function randomnumbersort(len,max,min)

arr = arr.sort()

return arr;

}console.log(randomnumbersort(10,100,10))

17、已知陣列 var stringarray = [「this」, 「is」, 「baidu」, 「campus」], alert 出」this is baidu campus」。

" "))18、已知有字串 foo=」get-element-by-id」,寫乙個 function 將其轉化成 駝峰表示法」getelementbyid」。

var foo ="get-element-by-id"

var arrfoo = foo.split('-')

for(var i=0;i19、下面這段 js 輸出什麼,並簡述為什麼?

function foo() }

var f1 = foo(), f2 = foo();

// f1()

// f1()

// f2()

// console.log(k)

20、有這樣乙個 url: 請寫一 段 js 程式提取 url 中的各個 get 引數(引數名和引數個數不確定),將其按 key-value 形式返回到乙個 json 結構中,如。

function serilizeurl(url)

var urlobject = {};

var urlstring = url.substring(url.indexof('?')+1)

var urlarr = urlstring.split('&')

for(var i=0;i21、輸出今天的日期,以 yyyy-mm-dd 的方式,比如今天是 2014 年 9 月 26 日,則輸出 2014-09-26

function gettoday()年$月$日`

}

// console.log(undefined || 1);//值___1__ 

// console.log(null || nan);//值__nan___

// console.log(0 && 1);//值__0___

// console.log(0 && 1 || 0);//值__0___

22、以下 js 的執行結果是什麼,為什麼?

var txt='hx';

function hello()

function fn()

console.log(txt);//undefined 區域性變數,只是宣告,沒有賦值

fn();//hello 先進行宣告,後賦值,執行 fn=function()

}//hello();

23、把兩個陣列合併,並刪除第二個元素。

var array1 = ['a','b','c']; 

var barray = ['d','e','f'];

var carray = array1.concat(barray)

carray.splice(1,1)

24、寫乙個 function,清除字串前後的空格。(相容所有瀏覽器)

function trim(str)}

// }

}var arr = new array(1 ,3 ,5);

arr[4]='z';

arr2 = arr.reverse();

arr3 = arr.concat(arr2);

25、數字轉換成千分位 如:12,876,977.98

方法一:function rmb(number)else

}_date.reverse()

console.log(_date)

26、獲取url中的引數,並返回乙個物件格式

let urlstr = ''

function querystring(url)

for(var i=0;i}

return obj;

}

js演算法題

二叉樹排序 雙向鍊錶 1 將學生資訊輸入到乙個雙向鍊錶 2 按不同的方式對此雙向鍊錶排序 按學生成績排序 按學生姓名排序 3 正 逆向顯示該鍊錶內容 思路1,沒啥說的,新建乙個鍊錶首節點,乙個節點放乙個資料就ok了。有prev 和next 2,排序的問題,其實可以參考陣列的排序乙個道理。用冒泡,兩層...

js基礎演算法題。

陣列去重 檢查指定字元是否包含重複的數字字母,包含返回true,否則false。function repetition str repetition 111sss 返回true 包含了重複實現乙個函式,引數與返回值的關係如下 引數能同時被3與5整除,返回字串a 引數能同時被3整除的,返回字串b 引數...

常見js演算法題

author laifeipeng date 2019 02 21 17 50 13 last modified by laifeipeng last modified time 2019 02 21 18 12 27 1 判斷回文字串 法一 function palindrome str retu...